【发布时间】:2014-08-13 14:05:34
【问题描述】:
我正在使用 CryptoJS 来加密一些用户名和密码,我认为它运行良好。
但我对加密数据明文有一些疑问。
- 无论密钥或数据是什么,它总是以“U2FsdGVkX1...”开头。
- 即使输入数据保持不变,加密数据也会不断变化,如下所示:
U2FsdGVkX1/BshMm2v/DcA6fkBQGPss6xKa9BTyC8g0= U2FsdGVkX1/uc5OTSD7CfumdgqK1vN2LU4ISwaQsTQE= U2FsdGVkX1/8OOLOTZlfunN4snEVUdF2ugiL7SeAluE= U2FsdGVkX1+c8j3l1NRBJDb1byHwOmmNSmbTci22vsA=
username_encrypted = CryptoJS.AES.encrypt(username, key);
password_encrypted = CryptoJS.AES.encrypt(password, key);
console.log(username_encrypted.toString());
console.log(password_encrypted.toString());
console.log(CryptoJS.AES.decrypt(username_encrypted, key).toString(CryptoJS.enc.Utf8));
console.log(CryptoJS.AES.decrypt(password_encrypted, key).toString(CryptoJS.enc.Utf8));
这是它应该工作的方式还是我做错了什么?因为在一些在线 AES 加密网站上,我得到了非常不同的结果,加密数据不会一直在变化。
【问题讨论】:
-
davidebarranca.com/2012/10/… 看看这篇文章。行为的解释在密码部分给出,我将其作为评论发布,因为我不是专家,可能有人会更好地描述它。
-
This 看起来可能相关?
标签: javascript encryption cryptography aes cryptojs