CryptoJS AES 加密输出不匹配

CryptoJS AES encryption output not matching

我对 CryptoJS 有疑问。

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

字符串:"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/ 结果是 fulfuBaIGS0AqxwyXoPCgw==。

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

这些网站很糟糕,因为它们不会告诉您加密某些内容时实际发生了什么。在线加密下面的两个示例代码是不同的,不会产生与在线加密相同的东西。

似乎 为该网站提供了 C# 的工作代码。如果这是真的,那么您不能在 CryptoJS 中重现它,因为 CryptoJS 仅支持 AES,而该示例 C# 代码使用 Rijndael(注意 256 位的块大小)。

AES 仅针对 128 位的固定块大小定义,但 Rijndael 支持 128、192 和 256 位块大小。两者都支持 128、192 和 256 位的密钥大小。 CryptoJS 实际上只实现了 AES,但该站点尽管名称如此,但并未使用 AES。