【问题标题】:Porting JS (or node.js, i'm now sure) aes to c# aes将 JS(或 node.js,我现在确定)aes 移植到 c# aes
【发布时间】:2016-10-16 18:24:11
【问题描述】:

我有这个 JS 代码:

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

我不知道如何在 C# 中设置keySize = 4

设置keySize = 4 导致异常

我需要将 JS 代码移植到 C#

【问题讨论】:

    标签: c# node.js aes porting cryptojs


    【解决方案1】:

    CryptoJS 将所​​有数据存储在一个名为WordArray 的数据结构中。每个“字”存储 32 位(4 字节)。 CryptoJS 中的密钥大小为 4 意味着其他任何地方的密钥大小为 128 位或 16 字节。

    API 通常以不同的方式编写,而且大多数情况下,您没有完全相同的对象在编程语言中以相同的方式表示相同的数据。

    C# 使用字节数组。因此,您需要创建一个包含 16 个字节的密钥。请记住,MD5 总是产生 128 位输出(16 字节),所以您可能不需要做任何特别的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-15
      • 1970-01-01
      • 2016-03-30
      相关资源
      最近更新 更多