177 个重大版本更新
新 0.180.0 | 2024 年 8 月 22 日 |
---|---|
0.178.0 | 2024 年 7 月 31 日 |
0.157.0 | 2024 年 3 月 28 日 |
0.143.0 | 2023 年 12 月 21 日 |
0.3.0 | 2020 年 11 月 23 日 |
307 在 密码学 中排名
6,193 每月下载量
用于 56 个crate(20 个直接使用)
740KB
21K SLoC
deno_crypto
该crate实现了Web加密API。
规范: https://www.w3.org/TR/WebCryptoAPI/
使用示例
从javascript,包含扩展的源文件,并将 CryptoKey
、crypto
、Crypto
和 SubtleCrypto
赋值给全局作用域
import * as crypto from "ext:deno_crypto/00_crypto.js";
Object.defineProperty(globalThis, "CryptoKey", {
value: crypto.CryptoKey,
enumerable: false,
configurable: true,
writable: true,
});
Object.defineProperty(globalThis, "crypto", {
value: crypto.crypto,
enumerable: false,
configurable: true,
writable: false,
});
Object.defineProperty(globalThis, "Crypto", {
value: crypto.Crypto,
enumerable: false,
configurable: true,
writable: true,
});
Object.defineProperty(globalThis, "SubtleCrypto", {
value: crypto.SubtleCrypto,
enumerable: false,
configurable: true,
writable: true,
});
然后在rust中,在 RuntimeOptions
的 extensions
字段中提供: deno_crypto::deno_crypto::init_ops_and_esm(Option<u64>)
其中,Option<u64>
表示初始化的可选种子。
依赖项
- deno_webidl: 由
deno_webidl
crate 提供 - deno_web: 由
deno_web
crate 提供
提供操作
以下操作被提供,可以通过 Deno.ops
访问
- op_crypto_get_random_values
- op_crypto_generate_key
- op_crypto_sign_key
- op_crypto_verify_key
- op_crypto_derive_bits
- op_crypto_import_key
- op_crypto_export_key
- op_crypto_encrypt
- op_crypto_decrypt
- op_crypto_subtle_digest
- op_crypto_random_uuid
- op_crypto_wrap_key
- op_crypto_unwrap_key
- op_crypto_base64url_decode
- op_crypto_base64url_encode
- x25519::op_crypto_generate_x25519_keypair
- x25519::op_crypto_derive_bits_x25519
- x25519::op_crypto_import_spki_x25519
- x25519::op_crypto_import_pkcs8_x25519
- ed25519::op_crypto_generate_ed25519_keypair
- ed25519::op_crypto_import_spki_ed25519
- ed25519::op_crypto_import_pkcs8_ed25519
- ed25519::op_crypto_sign_ed25519
- ed25519::op_crypto_verify_ed25519
- ed25519::op_crypto_export_spki_ed25519
- ed25519::op_crypto_export_pkcs8_ed25519
- ed25519::op_crypto_jwk_x_ed25519
- x25519::op_crypto_export_spki_x25519
- x25519::op_crypto_export_pkcs8_x25519
依赖项
~107MB
~2.5M SLoC