【问题标题】:MSSQL: Going from MD5 to BlowfishMSSQL:从 MD5 到 Blowfish
【发布时间】:2018-01-01 17:25:18
【问题描述】:

在 MSSQL 环境中,我有一个用于生成哈希的存储过程。目前,存储过程使用 MD5(带有适当的安全密钥)。

我正在尝试更改存储过程,以便它改用 Blowfish。

存储过程中的当前行是:

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

请问通过 Blowfish 而不是 MD5 散列的正确语法是什么?

我查看了this,但无法确定应该使用哪个算法选项...

谢谢!

【问题讨论】:

  • Blowfish 本身不是散列算法。为什么要使用 Blowfish?也许你真正想要的是bcrypt
  • 当保存密码验证器时,仅使用哈希函数是不够的,并且仅添加盐对提高安全性无济于事。而是使用随机盐迭代 HMAC 约 100 毫秒的持续时间,然后将盐与哈希一起保存。使用PBKDF2Rfc2898DeriveBytespassword_hashBcryptpasslib.hash 等函数或类似函数。关键是让攻击者花费大量时间通过蛮力寻找密码。

标签: sql-server hash cryptography md5 blowfish


【解决方案1】:

HASHBYTES 不支持 Blowfish

您需要使用 CLR 函数(搜索一个)或查看 this from Chilkat 的作用

我个人会使用 SHA2_512 来处理简单的哈希。 密码散列不一样,需要bcrypt或者其他迭代散列方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-16
    • 1970-01-01
    • 2012-06-01
    • 1970-01-01
    • 2018-03-19
    • 1970-01-01
    • 2012-07-10
    相关资源
    最近更新 更多