Шифрование и дешифрование в C# с использованием MD5CryptoServiceProviderC#

Место общения программистов C#
Ответить
Anonymous
 Шифрование и дешифрование в C# с использованием MD5CryptoServiceProvider

Сообщение Anonymous »

У меня есть сервис с именем CryptoService, который наследует интерфейс IcryptoService, который состоят из 2 метода Crypto Decrypto функции. < /p>

Шифрование строки работает, но дешифрование хэш -результата вернет мой ключ вместо расшифрованной строки. < /p>

Вот мой код шифрования: < /p>

private string _salt = "*1234567890!@#$%^&*()14344*";
private string Crypto(string text)
{
var hashmd5 = new MD5CryptoServiceProvider();
byte[] toEncryptArray = Encoding.UTF8.GetBytes(_salt);

byte[] keyArray = hashmd5.ComputeHash(Encoding.UTF8.GetBytes(_salt));
hashmd5.Clear();

TripleDesProvider.Key = keyArray;
TripleDesProvider.Mode = CipherMode.ECB;
TripleDesProvider.Padding = PaddingMode.PKCS7;

ICryptoTransform cTransform = TripleDesProvider.CreateEncryptor();

byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

return Convert.ToBase64String(resultArray, 0, resultArray.Length);
}
< /code>

< /p>

мой код дешифрования: < /p>

private string Decrypto(string text)
{
try
{

var hashmd5 = new MD5CryptoServiceProvider();
byte[] toEncryptArray = Convert.FromBase64String(text);

byte[] keyArray = hashmd5.ComputeHash(Encoding.UTF8.GetBytes(_salt));

hashmd5.Clear();

TripleDesProvider.Key = keyArray;
TripleDesProvider.Mode = CipherMode.ECB;
TripleDesProvider.Padding = PaddingMode.PKCS7;

ICryptoTransform cTransform = TripleDesProvider.CreateDecryptor();
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

TripleDesProvider.Clear();

return Encoding.UTF8.GetString(resultArray);
//return Encoding.UTF8.GetString(resultArray);
}
catch
{
return string.Empty;
}
}
< /code>

< /p>

Предоставлено здесь скриншот в действии. < /p>



Подробнее здесь: https://stackoverflow.com/questions/465 ... ceprovider
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»