1

这是我的 C# 代码。我如何在 Perl 中解密它?或者由于 OpenSSL,我无法在 Perl 中解密它?

RijndaelManaged RijndaelAlg = new RijndaelManaged();
FileStream fStream = File.Open(FileName, FileMode.OpenOrCreate);
byte[] initVectorBytes = Encoding.ASCII.GetBytes("11B2c3D4e5F6g7H8");
RijndaelAlg.IV = initVectorBytes;
string password = "11111111";
Rfc2898DeriveBytes key = new Rfc2898DeriveBytes(password, Encoding.ASCII.GetBytes("22222222"));
RijndaelAlg.Key = key.GetBytes(RijndaelAlg.KeySize / 8);
fStream = File.Open(FileName, FileMode.OpenOrCreate);
cStream = new CryptoStream(fStream, RijndaelAlg.CreateEncryptor(RijndaelAlg.Key, RijndaelAlg.IV), CryptoStreamMode.Write);
StreamWriter sWriter = new StreamWriter(cStream);
sWriter.Write(input);

sWriter.Close();
cStream.Close();
fStream.Close();

非常感谢。

4

2 回答 2

3

看看 Crypt::OpenSSL::AES。

当然,您的 Perl 代码需要以某种方式获得正确的密钥。

于 2009-12-22T00:55:13.357 回答
1

如果您使用 Rijndael/CBC,请使用Crypt::Rijndael 。或者更好地描述您的代码。

于 2009-12-22T00:57:25.320 回答