<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js"></script>
<script>
var toEncMes = "This is a secret message.";
var secPas = "myPassword";
var encrypted = CryptoJS.AES.encrypt(toEncMes, secPas);
alert (encrypted);
var decrypted = CryptoJS.AES.decrypt(encrypted, secPas);
alert (decrypted);
</script>
我可能只是不理解这个概念,但我不知道。
当我显示解密结果时,我的代码的最终结果仍然只是混乱。
我在这里找到了这个: https://code.google.com/p/crypto-js/
原始条目如下所示:
高级加密标准(AES)是美国联邦信息处理标准(FIPS)。经过5年的过程选择了15个竞争设计。
<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js"> </script>
<script>
var encrypted = CryptoJS.AES.encrypt("Message", "Secret Passphrase");
var decrypted = CryptoJS.AES.decrypt(encrypted, "Secret Passphrase");
</script>
CryptoJS支持AES-128,AES-192和AES-256。它将根据您传入的密钥的大小来选择变体。如果您使用密码,则它将生成256位密钥。
答案 0 :(得分:2)
您正在警告原始解密对象 - 默认编码为十六进制。需要使用适当的人类可读编码将其转换为字符串:
<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js"></script>
<script>
var toEncMes = "This is a secret message.";
var secPas = "myPassword";
var encrypted = CryptoJS.AES.encrypt(toEncMes, secPas);
alert (encrypted);
var decrypted = CryptoJS.AES.decrypt(encrypted, secPas);
alert (decrypted.toString(CryptoJS.enc.Utf8)); // <---- note specified encoding
</script>
当然,通常的加密警告标志仍然适用:这并不能确保您的信息没有被篡改等。