2017-07-26 3 views
1

Dans un environnement MSSQL, j'ai une procédure stockée que j'utilise pour générer des hachages. Actuellement, la procédure stockée utilise MD5 (avec une clé de sécurité appropriée).MSSQL: passage de MD5 à Blowfish

J'essaye de changer la procédure stockée de sorte qu'elle utilise Blowfish à la place.

La ligne courante dans la procédure stockée est:

select @hashedvalue = convert(nvarchar(32),hashbytes('MD5',@[email protected]),2)

Quelle est la syntaxe correcte pour le hachage via Blowfish, par opposition à MD5 s'il vous plaît?

J'ai regardé à this mais je ne pouvais pas travailler sur l'option algorithme je devrais utiliser ...

Merci!

+2

Blowfish n'est pas un algorithme de hachage en soi. Pourquoi voulez-vous utiliser Blowfish? Peut-être que ce que vous voulez vraiment est [bcrypt] (https://en.wikipedia.org/wiki/Bcrypt). –

+1

Lors de l'enregistrement d'un vérificateur de mot de passe, il suffit d'utiliser une fonction de hachage et il suffit d'ajouter un sel pour améliorer la sécurité. Au lieu de itérer sur un HMAC avec un sel aléatoire pour une durée d'environ 100ms et enregistrer le sel avec le hachage. Utilisez une fonction telle que 'PBKDF2',' Rfc2898DeriveBytes', 'password_hash',' Bcrypt', 'passlib.hash' ou des fonctions similaires. Le but est que l'attaquant passe beaucoup de temps à trouver des mots de passe par force brute. – zaph

Répondre

1

HASHBYTES ne supporte pas Blowfish

Vous devez utiliser une fonction CLR (recherche d'un) ou voir ce que this from Chilkat-t

Personnellement, j'utiliser pour SHA2_512 hash simples. Le hachage de mot de passe est différent, vous avez besoin de bcrypt ou d'autres solutions de hachage itératives.