Node.js keyObject.symmetricKeySize属性
keyObject.symmetricKeySize 属性是 crypto 模块内 keyObject 类的内置应用程序接口。它用于查找对称密钥的密钥大小。crypto 模块存在于 Node.js 中,并为 OpenSSL 的哈希、HMAC、加密、解码、签名和验证方法提供了包装器。
语法:
keyObject.symmetricKeySize
返回值: 它返回密钥的大小。对于非对称密钥,返回值为 未定义。
示例:
const {
webcrypto: { subtle },
KeyObject,
} = await import("crypto");
(async function () {
const key = await subtle.generateKey(
{
name: "HMAC",
hash: "SHA-256",
length: 256,
},
true,
["sign", "verify"]
);
try {
const keyObject = KeyObject.from(key);
console.log(
keyObject.symmetricKeySize
);
} catch (error) {
console.log("Error has been occurred");
}
})();
输出:
32
示例:
const {
KeyObject,
webcrypto: { subtle, getRandomValues }
} = await import('node:crypto');
(async function(){
const keyData=getRandomValues(new Uint8Array(16));
const key=await subtle.importKey("raw",keyData,"AES-GCM",false,["encrypt"])
const keyObject = KeyObject.from(key);
console.log(
keyObject.symmetricKeySize
);
})();
输出:
16
参考: https://nodejs.org/api/crypto.html#keyobjectsymmetrickeysize