репликация шифрования openssl в .NET? - PullRequest
0 голосов
/ 25 марта 2011

Мне интересно, может ли кто-нибудь предложить хороший способ репликации следующей командной строки openssl в .NET? Я не ищу кого-то, чтобы написать код, просто предложить лучший способ для использования. У меня есть RijndaelManaged, работающий в режиме AES 256 CBC, и могу ли он base64 его кодировать и т. Д. Но мне неясно, как openssl генерирует \ используя «salt» - является ли salt частью результата, закодированного в base64?

$ echo 1234 | openssl enc -aes-256-cbc -a -salt -pass pass:<passphrase>

Есть ли какие-нибудь указатели на достойную документацию по командной строке openssl? (Я не вижу соли или aes-256-cbc на http://openssl.org/docs/apps/openssl.html)

EDIT:

ОК, нашел документацию для openssl enc в http://openssl.org/docs/apps/enc.html# - просто пытаюсь это сделать. :)

EDIT2:

Я думаю, это ближе к тому, что мне нужно (http://deusty.blogspot.com/2009/04/decrypting-openssl-aes-files-in-c.html)

Ответы [ 3 ]

1 голос
/ 25 марта 2011

OpenSSL - это, в основном, некоторые dll с исполняемыми над ними файлами.Есть старый проект OpenSSL.Net на sourceforge, чтобы связать их в C #, возможно, вы могли бы начать там.

1 голос
/ 25 марта 2011

Ответы на openssl des3, расшифровываемые в java , должны помочь вам.

0 голосов
/ 16 февраля 2019

Этого также можно добиться с помощью библиотеки OpenSSL для .NET

DidiSoft.OpenSsl.OpenSslCipher cipher = new DidiSoft.OpenSsl.OpenSslCipher();
bool isBase64 = true;
string encrypted = cipher.EncryptString(CipherAlgorithm.Aes_256_Cfb, "1234", 
                                        "<passphrase>", isBase64);

Отказ от ответственности: я работаю на DidiSoft

...