10

私は研究を続けていますが、無知です。MD5には数字と文字の両方を含めることができることは知っていますが、MD5に数字のみ、または文字のみがある場合は、現在スクリプトが壊れています。

4

6 に答える 6

18

数字のみのmd5ハッシュを提供するいくつかの最初の文字列のリスト:

ximaz : 61529519452809720693702583126814 
aalbke : 55203129974456751211900188750366 
afnnsd : 49716523209578759475317816476053 
aooalg : 68619150135523129199070648991237 
bzbkme : 69805916917525281143075153085385 

これが文字だけの1つです:

cbaabcdljdac : cadbfdfecdcdcdacdbbbfadbcccefabd
于 2013-05-13T11:20:30.030 に答える
15

あなたは32桁です。すべての暗号が均等に分散されていると仮定すると、数値暗号だけで構成された10 ^ 32の組み合わせ、アルファベット暗号だけの6 ^ 32の組み合わせ、および合計で16^32の組み合わせがあります。

これにより、呼び出しごとにスクリプトが失敗する確率が(10 ^ 32 + 6 ^ 32)/ 16^32になります。

 echo "scale=10;(10^32 + 6^32) / 16^32" |  bc 
.0000002938

したがって、約340万件に一度は失敗します。どのくらいの頻度で使用しますか?

于 2011-07-26T05:47:41.587 に答える
5

理論的には、はい、MD5ハッシュ(16進文字列に変換された場合)には、10進数のみまたは文字のみを含めることができます。

実際には、そうです。文字列ximazは、のMD5ハッシュを生成します61529519452809720693702583126814それを試してみてください!

(例としてPHP Sadnessに感謝します)

于 2012-11-24T00:44:37.277 に答える
1

MD5は、優れたハッシュ関数(現在は壊れているため、セキュリティアプリケーションを使用しないでください)であることが意図されていました。つまり、出力スペースに収まるすべての可能な値が利用されるように、ランダムに見える出力を生成します。これらの文字と数字は、出力の16進表現です。はい、文字のみまたは数字のみで構成される出力を取得できる場合もありますが、ほとんどの場合、両方が含まれます。

MD5の16進表現を解析する必要がある場合、出力が文字のみまたは数字のみであるというかなりまれなケースをサポートするために、確かに時間がかかります。

于 2011-07-26T05:41:24.343 に答える
1

MD5ハッシュの16進表現で作業していると思います。MD5ハッシュは、実際には128ビットの文字列です。ほとんどのツールは、32桁の16進数でそれらを印刷します。16進数は、0〜9およびafを使用します。

例:

susam@swift:~$ echo -n "foo" | md5sum
acbd18db4cc2f85cedef654fccc4a4d8  -
于 2011-07-26T05:42:20.390 に答える
1

これは非常に古い質問ですが、md5ハッシュに数字のみの文字列がさらに3つ見つかりました。また、Googleはこれらのハッシュを検索しているときに何も見つからなかったため、これらを投稿する価値があると思いました。

Ioktak : 54948232518148653519995784773259
'99x\`b0x\'b : 24034969117462298298932307218853
uttuJ## : 74616072929762262275291990931711
于 2017-02-12T15:17:30.190 に答える