简体   繁体   English

将JS(或我现在确定为node.js)的AES移植到C#AES

[英]Porting JS (or node.js, i'm now sure) aes to c# aes

i have this JS code: 我有这个JS代码:

d = CryptoJS.AES.decrypt((t), CryptoJS.MD5(key), {
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7,
    keySize: 4
}).toString(CryptoJS.enc.Utf8);

I don't know how I can set keySize = 4 in C# 我不知道如何在C#中设置keySize = 4

setting keySize = 4 causing exception 设置keySize = 4导致异常

I need port JS code to C# 我需要将端口JS代码移植到C#

CryptoJS stores all data in a data structure called WordArray . CryptoJS将所有数据存储在一个称为WordArray的数据结构中。 Each "word" stores 32 bit (4 byte). 每个“字”存储32位(4字节)。 A key size of 4 in CryptoJS means a key size of 128 bit or 16 byte everywhere else. CryptoJS中的密钥大小为4意味着其他任何地方的密钥大小均为128位或16字节。

APIs are generally written differently and most of the time, you don't have the exact same object that represent the same data in the same way across programming languages. API通常是用不同的方式编写的,并且在大多数情况下,在编程语言中,您没有完全相同的对象以相同的方式表示相同的数据。

C# works with byte arrays. C#与字节数组一起使用。 So, you will need to create a key that has 16 bytes in it. 因此,您将需要创建一个包含16个字节的密钥。 Keep in mind that MD5 always produces 128 bit output (16 bytes), so you probably don't have to do anything special. 请记住,MD5总是产生128位输出(16字节),因此您可能不必执行任何特殊操作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM