MSSQL: переход от MD5 к Blowfish

В среде MSSQL у меня есть хранимая процедура, которую я использую для генерации хэшей. В настоящее время хранимая процедура использует MD5 (с соответствующим ключом безопасности).

Я пытаюсь изменить хранимую процедуру так, чтобы она использовала вместо этого Blowfish.

Текущая строка в хранимой процедуре:

select @hashedvalue = convert(nvarchar(32),hashbytes('MD5',@querystring+@hashpassword),2)

Какой правильный синтаксис для хеширования с помощью Blowfish, а не MD5, пожалуйста?

Я просмотрел это но я не мог понять, какой вариант алгоритма мне следует использовать ...

Спасибо!


person Tim    schedule 26.07.2017    source источник
comment
По сути, Blowfish не является алгоритмом хеширования. Почему вы хотите использовать Blowfish? Возможно, вам действительно нужен bcrypt.   -  person President James K. Polk    schedule 26.07.2017
comment
При сохранении верификатора пароля простого использования хеш-функции недостаточно, и простое добавление соли мало способствует повышению безопасности. Вместо этого перебирайте HMAC со случайной солью в течение примерно 100 мс и сохраняйте соль с хешем. Используйте такие функции, как PBKDF2, Rfc2898DeriveBytes, password_hash, Bcrypt, passlib.hash или аналогичные функции. Дело в том, чтобы злоумышленник тратил много времени на поиск паролей перебором.   -  person zaph    schedule 26.07.2017


Ответы (1)


HASHBYTES не поддерживает Blowfish.

Вам нужно будет использовать функцию CLR (найдите ее) или посмотрите, что от Chilkat делает

Лично я бы использовал SHA2_512 для простых хешей. Хеширование паролей другое, вам нужен bcrypt или другие решения для итеративного хеширования.

person gbn    schedule 26.07.2017