javascript – 我的CryptoJS加密/解密不起作用

前端之家收集整理的这篇文章主要介绍了javascript – 我的CryptoJS加密/解密不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 JSON数组的数组,其值我试图用CryptoJS加密,然后打印用于另一个文件,其中这些值应该使用用户给定的密码来解密.

但我做错了什么,我在解密URL时得到“未捕获的错误:格式错误的UTF-8数据”.

encrypt.js:

var encrypted = CryptoJS.AES.encrypt(item[key],pass);
json[j] += encrypted.ciphertext.toString(CryptoJS.enc.Base64);

decrypt.js:

var decrypted = CryptoJS.AES.decrypt(item[key],pass);
html += '<a href="' + decrypted.toString(CryptoJS.enc.Utf8) + '" target="_blank" class="socialico ' + key + '">' + icons[key] + '</a>';

我跟着this示例……帮忙,好吗?

解决方法

错误消息通常意味着数据未正确解密,并且生成的明文字节不会形成有效的UTF-8字符.

要检查几件事:

>首先,确保您使用相同的密码进行加密和解密.您可能希望保留正确密码的哈希值,以便在用户进行解密之前验证用户是否提供了正确的密码.>其次,确保值项[key]是加密前的字符串. CryptoJS无法加密JSON对象.你必须先将它序列化.

猜你在找的JavaScript相关文章