这散列算法是最安全的密码? [关闭](Which hash algorithm is most

2019-08-16 20:53发布

据http://php.net/manual/en/function.hash.php ,有一个PHP散列方法:散列()。 它支持所有的以下方法,但我想知道,什么是密码哈希绝对是最安全的方法。

Results: (in microseconds)
   1.  md4                           5307.912
   2.  md5                           6890.058
   3.  crc32b                        7298.946
   4.  crc32                         7561.922
   5.  sha1                          8886.098
   6.  tiger128,3                    11054.992
   7.  haval192,3                    11132.955
   8.  haval224,3                    11160.135
   9.  tiger160,3                    11162.996
  10.  haval160,3                    11242.151
  11.  haval256,3                    11327.981
  12.  tiger192,3                    11630.058
  13.  haval128,3                    11880.874
  14.  tiger192,4                    14776.945
  15.  tiger128,4                    14871.12
  16.  tiger160,4                    14946.937
  17.  haval160,4                    15661.954
  18.  haval192,4                    15717.029
  19.  haval256,4                    15759.944
  20.  adler32                       15796.184
  21.  haval128,4                    15887.022
  22.  haval224,4                    16047.954
  23.  ripemd256                     16245.126
  24.  haval160,5                    17818.927
  25.  haval128,5                    17887.115
  26.  haval224,5                    18085.002
  27.  haval192,5                    18135.07
  28.  haval256,5                    18678.903
  29.  sha256                        19020.08
  30.  ripemd128                     20671.844
  31.  ripemd160                     21853.923
  32.  ripemd320                     22425.889
  33.  sha384                        45102.119
  34.  sha512                        45655.965
  35.  gost                          57237.148
  36.  whirlpool                     64682.96
  37.  snefru                        80352.783
  38.  md2                           705397.844

Answer 1:

以上都不是。

你应该使用bcrypt 。



Answer 2:

什么是密码哈希绝对最安全的方法

要回答这个问题的前提下:绝对最安全的将可能是组成:

  1. 首先一个硬件安全模块 ,使用HMAC由HSM管理的密钥,
  2. 随后通过散列与密码哈希处理竞赛优胜单位 ,一旦获胜者已经发现,并曾5 - 10年置身于现实世界和同行评审。

在此之前,最安全的可能是:

  1. 甲HSM如上,和
  2. 一位来自好选择的密码哈希规范的答案 。

然而,现实的密码哈希是不是大问题,只是“好”的解决方案中的任何一个散列将超过就够了。 好的解决方案是:

  1. BCrypt,
  2. PBKDF2与HMAC SHA256与(或512)。
  3. 而很多人也认为SCrypt强大的选择,虽然有些人认为它年轻一点点。

对于上述两种你不应该推出自己的成分。 你应该总是使用专门为长期密码存储一个成熟的,经过充分测试和审核库。 密码散列不仅是使用BCrypt或PBKDF2,你想用的字符编码,盐,迭代次数/成本因素等合理的默认值的组成



文章来源: Which hash algorithm is most secure for passwords? [closed]
标签: php security