CryptoJS AES加密输出不匹配

CryptoJS AES encryption output not matching

本文关键字:不匹配 输出 加密 AES CryptoJS      更新时间:2023-09-26

我对CryptoJS有问题。

我试图加密a字符串,但它给出了不同的输出。

字符串:"test message"关键:"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/4EwUF1PMhc=

但在这个网站http://aesencryption.net/我得到fulfubaigso0aqxwyxopcgw ==作为结果。

我如何使用CryptoJS生成加密输出为fulfuBaIGS0AqxwyXoPCgw==?

这些站点很糟糕,因为它们不告诉您加密时实际发生了什么。在线加密下面的两个示例代码是不同的,并且不会产生与在线加密相同的结果。

这个答案似乎为该站点提供了一个c#工作代码。如果这是真的,那么你不能在CryptoJS中复制它,因为CryptoJS只支持AES,而那个示例c#代码使用Rijndael(注意块大小为256位)。

AES仅为128位的固定块大小定义,但Rijndael支持128、192和256位块大小。两者都支持128位、192位和256位的密钥大小。CryptoJS实际上只实现AES,但该站点虽然名为AES,但并不使用AES。