gpt4 book ai didi

JavaScript WebCrypto importKey 错误 : AES key data must be 128 or 256 bits

转载 作者:行者123 更新时间:2023-11-30 11:27:23 46 4
gpt4 key购买 nike

我正在尝试导入现有 key ,但无论我做什么,我都会得到:“AES key 数据必须是 128 或 256 位”

我有一个从 0 到 255 的 128 int ArrayBuffer,即使我用 Uint8Array 包装它也无法正常工作。即使是 new Uint8Array(128) 也会返回相同的错误。

crypto.subtle.importKey("raw", new Uint8Array(128), { name: "AES-CBC" }, true, ["encrypt", "decrypt"]).then(cryptoKey => {
console.log(cryptoKey);

}).catch(err => {
console.log(err);
});

最佳答案

错误很明显;您使用的 key 缓冲区太大(1024 位)。如果您使用 16 或 32 元素的 Uint8 数组,它可以工作:

  • 16 个元素的 8 位数组 = 128 位。
  • 一个包含 32 个元素的 8 位数组 = 256 位。
const cryptoKey = await crypto.subtle.importKey("raw", new Uint8Array(16), { name: "AES-CBC" }, true, ["encrypt", "decrypt"])
console.log(cryptoKey);

关于JavaScript WebCrypto importKey 错误 : AES key data must be 128 or 256 bits,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47513331/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com