创建CryptoJS AES密码加密器以在.NET中解密

时间:2015-01-23 14:15:41

标签: javascript asp.net aes md5 cryptojs

我正在尝试创建可在服务器/客户端之间工作的加密/解密。我的客户端有CryptoJS,服务器端有ASP.Net(VB.Net)。服务器端正在许多地方使用,因此无法更改,因此CryptoJS需要解决.NET正在做的事情。我不能让我的CryptoJS模仿.NET 100%。

仅供参考,.NET代码无法更改,JS必须与.NET功能相匹配。

  

根据要求删除了代码

当我尝试解密客户端加密时,我在.NET中遇到的错误:

  

填充无效,无法删除。

额外信息

如果我只是通过十六进制键(删除.toString(CryptoJS.enc.Latin1)),我没有得到足够的字符(似乎改为128位而不是256位)。

JS 中MD5_Key返回的实际数据似乎匹配.NET中的Validate_MD5 ...

我是否想要实现不可能的目标?

1 个答案:

答案 0 :(得分:0)

CryptoJS仅支持AES,它基本上是Rijndael,但仅限于128位的块大小。它支持128,192和256位的密钥大小。您的.net代码使用块大小为256的Rijndael,CryptoJS不支持。 CryptoJS很乐意接受大IV,只使用前16个字节。

您必须找到另一个支持此功能的库,因为您无法更改.net代码。