Skip to content

Один алгоритм ​

Агрегированный вход import { ... } from 'sm-crypto-wasm' подключает все пять пространств имён, хотя wasm всё равно загружается по требованию. Когда важен размер бандла, используйте подпуть:

ts
import { hash, hmac } from 'sm-crypto-wasm/sm3';
import { encryptCBC } from 'sm-crypto-wasm/sm4';

Доступные подпути: sm-crypto-wasm/sm2 · /sm3 · /sm4 · /sm9 · /x509 · /cms · /webcrypto · /zuc.

Агрегированный входПодпуть
Бандл: неиспользуемые алгоритмызависит от сборщикаудаляются tree-shaking
Классы ошибок / кодекидоступны сразуимпорт из sm-crypto-wasm
Загрузка wasmленивая по ensureLoaded()так же

TIP

wasm всегда ленивый по алгоритму — подпуть экономит JS-обвязку, а не .wasm. Каждый .wasm запрашивается только при await соответствующего ensureLoaded().

ts
import { DecryptionError, bytesToHex } from 'sm-crypto-wasm';
import { zucMac, zucEia3Iv } from 'sm-crypto-wasm/zuc';

Полный справочник

Полный список экспортов по подпутям — на китайской странице.

Лицензия Apache-2.0