繁体   English   中英

如何使用javascript加密和解密Uint8Array?

[英]How do i encrypt and decrypt Uint8Array using javascript?

我希望加密和解密Uint8Array,因为我已从此链接下载了CryptoJS库。

我已经在虚拟字符串上测试了aes密码算法,它的工作正常。

现在我希望它在Uint8Array上实现它。 该阵列保存视频文件数据。

由于加密和解密适用于字符串,我必须将其转换为字符串,我已经引用此问题发布在stackoverflow上点击此处

加密代码是:

var encrypted = CryptoJS.AES.encrypt(String.fromCharCode.apply(null, uInt8Array), "test");

但当我运行代码后,错误即将到来:

 Uncaught RangeError: Maximum call stack size exceeded 

我如何使它工作?

该错误是由String.fromCharCode.apply(null, uInt8Array)部分引起的,从不调用CryptoJS。

请注意, fromCharCode完整语法是String.fromCharCode(n1, n2, ..., nX) ,因此必须将给定缓冲区的所有元素移动到堆栈才能apply该函数。

你必须使用一个非常大的缓冲区,你说的视频文件,所以这必然是你遇到stackoverflow错误的原因。

尝试使用`CryptoJS.lib.WordArray',如下所述:

http://groups.google.com/group/crypto-js/browse_thread/thread/4ce6fddad709954d?pli=1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM