为了账号安全,请及时绑定邮箱和手机立即绑定

使用 CryptoJS 解密二进制字符串并写入文件

使用 CryptoJS 解密二进制字符串并写入文件

HUX布斯 2022-10-21 10:20:31
过去一天我一直在用头撞墙,我试图解密一个二进制字符串,然后使用 CryptoJS 编写它。我让它工作了,但让我头疼的是它的性能。我目前正在使用一些肮脏的解决方法来做到这一点,但我很确定有一种更快更有效的方法。convertWordArrayToUint8Array(CryptoJS.AES.decrypt(base64ArrayBuffer(res), key))//"key" is a 32 character string (passphrase)//"res" is a binary string converted to an ArrayBuffer我目前的尝试是使用 XMLHttpRequest 将二进制字符串作为 ArrayBuffer 获取,然后将其转换为 Base64 字符串,然后使用 CryptoJS 对其进行解密。解密后,我将结果转换为 Uint8 数组并将其写入文件。它可以工作,但速度很慢。在 Chrome 中解密一个 1 MB 的块大约需要 200 毫秒,而在 Firefox 中则需要 100 毫秒。任何帮助表示赞赏!
查看完整描述

1 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

出于好奇 - 为什么CryptoJS 我不太了解它,但您可能需要的许多加密功能在浏览器中很容易获得: https ://developer.mozilla.org/en-US/docs/Web/API/ SubtleCrypto/解密

如果可以使用本机 API,我猜它会比 JavaScript 实现快一点。


查看完整回答
反对 回复 2022-10-21
  • 1 回答
  • 0 关注
  • 341 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信