微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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对象.你必须先将它序列化.

原文地址:https://www.jb51.cc/js/157920.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐