Как я могу зашифровать с помощью AES в C #, а затем расшифровать его на Perl? - PullRequest
1 голос
/ 22 декабря 2009

Вот мой код C #. Как я мог расшифровать это в Perl? Или я не могу расшифровать его в Perl из-за OpenSSL?

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();

Большое спасибо.

Ответы [ 2 ]

3 голосов
/ 22 декабря 2009

Взгляните на Crypt :: OpenSSL :: AES.

Конечно, ваш Perl-код должен как-то получить правильный ключ.

1 голос
/ 22 декабря 2009

Используйте Crypt :: Rijndael , если вы используете Rijndael / CBC. Или лучше опиши свой код.

...