Prasad_Kulkarni
Зачем вам нужно расшифровывать пароль? Обычно соленый хэш пароля хранится и сравнивается. Если вы зашифруете / расшифруете пароль, у вас снова будет пароль в виде обычного текста, и это опасно. Хэш должен быть посолен, чтобы избежать дублирования хэша, если некоторые пользователи имеют одинаковые пароли. Для соли можно взять имя пользователя.
HashAlgorithm hash = new SHA256Managed();
string password = "12345";
string salt = "UserName";
// compute hash of the password
byte[] plainTextBytes = Encoding.UTF8.GetBytes(password);
byte[] hashBytes = hash.ComputeHash(plainTextBytes);
// create salted byte array
byte[] saltBytes = Encoding.UTF8.GetBytes(salt);
byte[] plainTextWithSaltBytes = new byte[plainTextBytes.Length + saltBytes.Length];
for (int i = 0; i < plainTextBytes.Length; i++)
{
plainTextWithSaltBytes[i] = plainTextBytes[i];
}
// compute salted hash
byte[] saltedHashBytes = hash.ComputeHash(plainTextWithSaltBytes);
string saltedHashValue = Convert.ToBase64String(saltedHashBytes);
Вы можете вычислить соленый хэш пароля и сохранить его в своем файле. Во время аутентификации вы снова вычисляете хэш из записей пользователя и сравниваете этот хэш с сохраненным хэшем пароля. Поскольку получить обычный текст из хэша должно быть очень трудно (это никогда не бывает невозможно, всегда вопрос времени), пароль снова защищен от чтения в виде обычного текста.
Совет: никогда не храните и не отправляйте пароль в незашифрованном виде. Если вы получите новый пароль, шифруйте его как можно скорее!
Ссылка: stackoverflow.com
Обратиться:
Как зашифровать и расшифровать строку, используя C#[
^]
Как зашифровать и расшифровать пароль в asp.net используя C#?[
^]
Ряд статей КП :
Простое шифрование и дешифрование данных на языке Си#[
^]
Шифрование и дешифрование данных с помощью C#[
^]
Шифрование / дешифрование строки с помощью DES в C#[
^]
Шифрование и дешифрование на платформе .NET Framework[
^]