我遇到了一个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, 0, 5);
console.log(buffer);
console.log(btoa(buffer));
}我的问题是,为什么
新Uint8Array(cipherText,0,5);
有参数0和5。我在互联网上搜索,发现这些参数代表一个视图。但为什么只有0和5?我们能用这些以外的数字吗?
发布于 2021-06-17 07:57:29
我认为这个例子来自于https://github.com/mdn/dom-examples/blob/master/web-crypto/encrypt-decrypt/aes-gcm.js,它是MDN示例的一部分。
我的理解是,他们只是向用户展示了最初的几个字符,以证明它已被加密。您将看到真实的内容保存在cipherText中,它与iv一起是一个模块级变量。
https://stackoverflow.com/questions/63718230
复制相似问题