我正在尝试创建可在服务器/客户端之间工作的加密/解密。我的客户端有CryptoJS,服务器端有ASP.Net(VB.Net)。服务器端正在许多地方使用,因此无法更改,因此CryptoJS需要解决.NET正在做的事情。我不能让我的CryptoJS模仿.NET 100%。
仅供参考,.NET代码无法更改,JS必须与.NET功能相匹配。
根据要求删除了代码
填充无效,无法删除。
如果我只是通过十六进制键(删除.toString(CryptoJS.enc.Latin1)
),我没有得到足够的字符(似乎改为128位而不是256位)。
JS 中MD5_Key返回的实际数据似乎匹配.NET中的Validate_MD5 ...
我是否想要实现不可能的目标?
答案 0 :(得分:0)
CryptoJS仅支持AES,它基本上是Rijndael,但仅限于128位的块大小。它支持128,192和256位的密钥大小。您的.net代码使用块大小为256的Rijndael,CryptoJS不支持。 CryptoJS很乐意接受大IV,只使用前16个字节。
您必须找到另一个支持此功能的库,因为您无法更改.net代码。