3

Digest::SHA1よりもDigest ::SHAを使用すること、またはその逆の利点はありますか?両方とも維持されているようですが、Digest::SHA1が。の存在でさえ存在する理由はわかりません。Digest::SHA

4

2 に答える 2

6

何もありません、Digest::SHA1レガシーですSHA1。のドキュメントによるとDigest::SHA1

2005年に、SHA-1でセキュリティ上の欠陥が特定されました。つまり、数学的な弱点が存在する可能性があり、より強力なハッシュ関数が望ましいことを示しています。Digest :: SHAモジュールは、SHAファミリーのより強力なアルゴリズムを実装します。

明確に参照していますDigest::SHA。の実装は(のドキュメントによると、とにかく使用する必要があるものDigest::SHAよりも少し高速です)。Digest::SHA1Digest.pm

Algorithm      Size    Implementation                  MB/s
SHA-1          160     Digest::SHA v4.3.1              58.9
SHA-1          160     Digest::SHA1 v2.10              48.8

Digest名前空間内のすべてのモジュールのファクトリでありDigest、を優先Digest::SHADigest::SHA1ます。Digest::SHA1に置き換えられたため、2回非推奨になっていると主張することもできDigest::SHA2ます。

ここで「非推奨」という用語を実証することはおそらく有用だと思います。つまり、SHAファミリーにまだ存在するSHA1以外のハッシュには役に立たないということDigest::SHA1です。他のディストリビューションでも、より多くの処理を実行できます。Digest:: SHA1も低速です。私の知る限り、これは引き続きサポートされており、それほど昔ではない安定したリリース:ダイジェスト-SHA1-2.13-2010年7月3日-Gisle Aas

于 2010-08-06T02:53:38.933 に答える
0

を使用するように書かれたものDigest::SHA1::sha1、または (愚かさのために) の"Digest::$type"->new代わりにDigest->new($type)必要な可能性があるものDigest::SHA1。それ以外は、Digest::SHAが優先され、デフォルトで に使用されますDigest->new("SHA-1")

于 2010-08-06T03:02:53.233 に答える