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

Create CryptoJS AES Cipher Encryptor to Decrypt in .NET

本文关键字:NET 解密 CryptoJS AES 密码 加密 创建      更新时间:2023-09-26

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

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

根据请求删除代码

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

填充无效,无法删除。

额外信息

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

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

我是否在努力实现不可能的目标?

CryptoJS仅支持AES,它基本上是Rijndael,但仅限于128位的块大小。它支持 128、192 和 256 位的密钥大小。您的.net代码使用Rijndael,块大小为256,这是CryptoJS不支持的。CryptoJS愉快地采用大IV,只使用前16个字节。

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