gpt4 book ai didi

javascript - 字节数组可以用作 CryptoJS.RC4.encrypt 的 key 吗?

转载 作者:行者123 更新时间:2023-11-30 12:19:25 28 4
gpt4 key购买 nike

我需要使用字节数组(不可打印字符)作为 RC4 加密的 key 。明文是一个字符串。似乎 CryptoJS.RC4.encrypt 只需要明文和 key 的字符串。我对么?如果不是,我如何调用 encrypt() 与字符串和字节数组?

最佳答案

如果您想从字节值列表中创建键值,最好的办法是使用 hex encoder function, CryptoJS.enc.Hex.parse :

CryptoJS.enc.Hex.parse('48656c6c6f2c20576f726c6421');

这会将您的输入字符串解析为两个字符对的列表,每个字符对描述一个字节值。在这种情况下,十六进制值将是 48656c6c6f 等。您可以将 parse 调用的结果作为 key 参数直接传递到加密/解密方法中。 (结果是一个名为“WordArray”的 CryptoJS 类型,但您无需担心这种类型的机制;只需将其作为关键参数传入即可。)

如果您想将数字数组转换为十六进制字符串,可以使用简单的循环和 .toString(16) 轻松完成此操作:

var byteArr = [72, 101, 108, 108, 111, 44],
str = "",
byteVal;
for(var i=0; i<byteArr.length; i++) {
byteVal = byteArr[i];
if(byteVal < 16) { str += "0"; }
str += byteVal.toString(16);
};

关于javascript - 字节数组可以用作 CryptoJS.RC4.encrypt 的 key 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31523583/

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