小编Mik*_*J82的帖子

.NET Core 中的 AES-256-CBC (C#)

我正在搜索 C# 代码来重现以下 openssl 命令。

openssl enc -d -aes-256-cbc -in my_encrypted_file.csv.enc -out my_decrypted_file.csv -pass file:key.bin

附加信息:

  • 加密文件以 byte[] 形式呈现
  • key.bin 是一个长度为 256 的 byte[](密钥是通过对另一个文件进行更简单的解密获得的,我设法用 C# 实现了该文件)。

我一直在尝试通过搜索网络找到的各种示例。问题是,所有这些例子都需要 IV(初始化向量)。不幸的是,我没有 IV,团队中没有人知道这是什么或如何定义它。openssl 命令似乎不需要一个,所以我对此有点困惑。

目前,我正在尝试使用的代码如下所示:

public static string DecryptAesCbc(byte[] cipheredData, byte[] key)
{
    string decrypted;

    System.Security.Cryptography.Aes aes = System.Security.Cryptography.Aes.Create();
    aes.KeySize = 256;
    aes.Key = key;
    byte[] iv = new byte[aes.BlockSize / 8];
    aes.IV = iv;
    aes.Mode = CipherMode.CBC;

    ICryptoTransform decipher = aes.CreateDecryptor(aes.Key, aes.IV);

    using (MemoryStream ms = new MemoryStream(cipheredData))
    {
        using (CryptoStream cs = …
Run Code Online (Sandbox Code Playgroud)

.net c# aes cbc-mode .net-core

2
推荐指数
1
解决办法
8750
查看次数

标签 统计

.net ×1

.net-core ×1

aes ×1

c# ×1

cbc-mode ×1