1

http://php.net/manual/en/function.hash.phpによると、phpハッシュメソッドhash()があります。以下のすべての方法をサポートしていますが、パスワードハッシュの絶対的に最も安全な方法は何でしょうか。

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
4

2 に答える 2

6

上記のどれでもない。

bcryptを使用する必要があります。

于 2013-02-10T02:08:24.860 に答える
0

パスワードハッシュのための絶対的に最も安全な方法は何ですか

質問の前提で答えるには:絶対的に最も安全なのはおそらく次の構成です:

  1. まず、HSMによって管理される秘密鍵でHMACを使用する、ハードウェアセキュリティモジュール。
  2. 続いて、パスワードハッシュコンペティションの勝者とハッシュします。勝者が見つかったら、現実の世界やピアレビューに5〜10年さらされています。

その時まで、最も安全なのはおそらく次のとおりです。

  1. 上記のHSM、および
  2. パスワードハッシュに関する標準的な回答からの良い選択の1つ。

ただし、現実的にはパスワードハッシュは大きな問題ではなく、「優れた」ソリューションのいずれかを使用してハッシュするだけで十分です。良い解決策は次のとおりです。

  1. BCrypt、
  2. SHA256(または512)を備えたHMACを備えたPBKDF2。
  3. また、多くの人がSCryptを強力な選択肢だと考えていますが、少し若いと考える人もいます。

上記の両方について、あなたはあなた自身の構成を転がすべきではありません。長期のパスワード保存用に設計された、成熟した、十分にテストされ、精査されたライブラリを常に使用する必要があります。パスワードハッシュは、BCryptまたはPBKDF2を使用するだけでなく、文字エンコード、ソルト、反復回数/コスト係数などの適切なデフォルト値を持つコンポジションが必要です。

于 2013-12-09T19:13:47.000 に答える