Как создать хэш шифрования в ASP.NET MVC? - PullRequest
6 голосов
/ 10 мая 2010

Я смотрю на создание пользовательской системы входа пользователей (для обучения), и мне не удалось выяснить команду C # для генерации зашифрованного хэша.

Есть ли какое-то пространство имен, которое мне нужно импортировать или что-то подобное?

Ответы [ 4 ]

18 голосов
/ 10 мая 2010

Использование пространства имен System.Security.Cryptography:

MD5 md5 = new MD5CryptoServiceProvider();
Byte[] originalBytes = ASCIIEncoding.Default.GetBytes(originalPassword);
Byte[]  encodedBytes = md5.ComputeHash(originalBytes);

return BitConverter.ToString(encodedBytes);

или FormsAuthentication.HashPasswordForStoringInConfigFile метод

4 голосов
/ 18 декабря 2012

Со своей стороны, я назначаю эту функцию, которую использую, чтобы получить профиль изображения Gravatar:

вы можете использовать его как хотите

public string getGravatarPicture()
    {
        MD5 md5 = new MD5CryptoServiceProvider();
        Byte[] originalBytes = ASCIIEncoding.Default.GetBytes(email.ToLower());
        Byte[] encodedBytes = md5.ComputeHash(originalBytes);

        string hash = BitConverter.ToString(encodedBytes).Replace("-", "").ToLower();
        return "http://www.gravatar.com/avatar/"+hash+"?d=mm";
    }
3 голосов
/ 10 мая 2010

Ну, во-первых, хеш шифрования - это противоречие. Как вегетарианский стейк. Вы можете использовать шифрование или хэшировать их (и вы должны их хешировать), но хеширование не является шифрованием.

Найдите класс, начинающийся с Md5;) Или Sha1 - это хеш-алгоритмы. Все это есть в .NET (пространство имен System.Security.Cryptography).

2 голосов
/ 22 января 2014

Я предпочитаю, чтобы мой хэш был в одной объединенной строке. Я заимствовал это , чтобы построить мой хэш:

public static string MD5Hash(string itemToHash)
{
    return string.Join("", MD5.Create().ComputeHash(Encoding.ASCII.GetBytes(itemToHash)).Select(s => s.ToString("x2")));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...