如何解决使用webcrypto API的AES_GCM加密
我遇到了一个AES_GCM实现,其加密功能如下:
async function encryptMessage(key){
let encodedMessage = encodeMessage();
cipherText = await window.crypto.subtle.encrypt(
{
name: "AES-GCM",iv: window.crypto.getRandomValues(new Uint8Array(12))
},key,encodedMessage
);
let buffer = new Uint8Array(cipherText,5);
console.log(buffer);
console.log(btoa(buffer));
}
我的问题是,为什么
新的Uint8Array(cipherText,0,5);
具有参数0和5。我在互联网上搜索后发现,这些参数代表一个视图。但是为什么只有0和5?我们可以使用除这些以外的数字吗?
解决方法
我认为该示例来自 https://github.com/mdn/dom-examples/blob/master/web-crypto/encrypt-decrypt/aes-gcm.js,它是 MDN 示例的一部分。
我的理解是他们只是向用户显示前几个字符,作为它已被加密的证据。您会看到真正的内容保存在 cipherText
中,它与 iv
一起是一个模块级变量。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。