MD5 хешируют с солью для хранения пароля в DB в C#

Вы могли бы хотеть читать этот поток на блоге Haacked. Не имели шанса протестировать его, но суть находится в одной из последних строк:

ThreadPool.QueueUserWorkItem(callback => im.Send(to, from, subject, body));

18
задан abatishchev 6 June 2010 в 09:48
поделиться

4 ответа

Я понял, что GDI + использует WIC для выполнения определенных задач. По крайней мере, в Windows 7.

Обратите внимание на следующий код:

image.Write(target, ImageFormat.Gif);

Когда я запускаю этот код в Windows XP, он будет использовать кодировщик GDI + Gif для записи изображения в формате Gif. Когда я запускаю тот же код под Windows 7, он будет использовать WIC Gif Encoder.

Все функции автоматической регистрации зависят от кода времени загрузки и его способов избежать статического фиаско, например, функция, которая создает объект и возвращает его по запросу.

Но если вам не удастся загрузить то, что когда-либо это не сработает, объединение объектных файлов вместе сработает и также загрузит динамические библиотеки, но статические библиотеки никогда не будут связываться без явных зависимостей.

var salt = System.Text.Encoding.UTF8.GetBytes("my salt");
var password = System.Text.Encoding.UTF8.GetBytes("my password");
40
ответ дан 30 November 2019 в 06:09
поделиться

Вот пример . Он обрабатывает MD5, SHA1, SHA256, SHA384 и SHA512.

12
ответ дан 30 November 2019 в 06:09
поделиться

В дополнение к упомянутому классу HMACSHA1 выше, если вам просто нужен быстрый хэш с солью, то вы уже прошли 95% пути:

private static string GenerateHash(string value, string salt)
{
    byte[] data = System.Text.Encoding.ASCII.GetBytes(salt + value);
    data = System.Security.Cryptography.MD5.Create().ComputeHash(data);
    return Convert.ToBase64String(data);
}

Настоящая уловка заключается в хранении соли в безопасном месте, например в файле machine.config.

3
ответ дан 30 November 2019 в 06:09
поделиться

Microsoft сделала эту работу за вас, но для этого нужно немного покопаться. Установите расширения веб-служб 3.0 и ознакомьтесь с функцией Microsoft.Web.Services3.Security.Tokens.UsernameToken.ComputePasswordDigest с Reflector.

Я хотел бы разместить здесь исходный код этой функции , но я не уверен, законно ли это делать. Если кто-то может меня успокоить, я сделаю это.

1
ответ дан 30 November 2019 в 06:09
поделиться