我正在搜索 C# 代码来重现以下 openssl 命令。
openssl enc -d -aes-256-cbc -in my_encrypted_file.csv.enc -out my_decrypted_file.csv -pass file:key.bin
附加信息:
我一直在尝试通过搜索网络找到的各种示例。问题是,所有这些例子都需要 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)