繁体   English   中英

散列密码的最安全方法

[英]Most secure way to hash passwords

我有这些方法(伪代码):

string predefinedsalt = "03jf0j02j302jf0j3f08h3298fbckm91jr192jr091j2-r01"

string dynsalt(user)
{
    return md5(user.id)
}

并散列密码我想使用以下方法之一:

  1. md5(user.password)
  2. md5(user.password + predefinedsalt)
  3. md5(user.password + dynsalt(user))
  4. md5(md5(user.password) + dynsalt(user))

这些方式哪个更安全?

您的任何建议都不是为了散列密码。 使用具有成本因素的慢散列函数,例如 BCrypt、PBKDF2 或 SCrypt,并让该函数从操作系统的随机源生成盐。

密码破解工具已经开箱即用地实现了与 MD5 的这种组合,而 MD5 太快了。 使用普通硬件可以每秒计算大约100 Giga MD5

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM