我对CryptoJS有意见。
我试图加密a字符串,但它提供了不同的输出。
字符串:“测试消息”键:"123456“
这是我试图运行的测试代码。
<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js"></script>
<script>
var encrypted = CryptoJS.AES.encrypt("test message", "123456");
alert(encrypted); //U2FsdGVkX19Nf4gjPS3MUcbKBD10P/Ty/4EwUF1PMhc=
</script>并返回输出U2FsdGVkX19Nf4gjPS3MUcbKBD10P/Ty/4 EwUF1PMhc=
但是在这个网站http://aesencryption.net/中,我得到了fulfuBaIGS0AqxwyXoPCgw==作为结果。
如何使用CryptoJS作为fulfuBaIGS0AqxwyXoPCgw==生成加密的输出?
发布于 2015-08-12 09:33:00
这些网站是不好的,因为它们不会告诉你当你加密的时候会发生什么。在线加密下面的两个示例代码是不同的,并且不会产生与在线加密相同的内容。
this answer似乎在C#中为该站点提供了一个工作代码。如果这是真的,那么您就不能在CryptoJS中再现它,因为CryptoJS只支持AES,而该示例C#代码使用Rijndael (注意256位的块大小)。
AES只为128位固定块大小定义,但Rijndael支持128、192和256位块大小。两者都支持128、192和256位的密钥大小。CryptoJS实际上只实现了AES,但是该站点不使用AES,尽管它的名称。
https://stackoverflow.com/questions/31954441
复制相似问题