練習として、私はPHPでMD5を実装しようとしています。 PHPにはこのための関数が組み込まれていることは知っていますが、実際のソースを読み、実行し、勉強したいと思います。私はthis scriptが適切なセクションのコメントを解除して(メッセージパディングを有効にする)、配列がそれに応じてフォーマットされている(PHPのバージョンとの互換性がある)場合にうまくいくことを発見しました。例えば、長さゼロの文字列のMD5ハッシュは次のようになります。PHPのMD5スクリプト
d41d8cd98f00b204e9800998ecf8427e
が、同じのためのスクリプトによって返されるハッシュは以下のとおりです。
85bd946a585af9fd3fb9eda68707c1d8
私は他の文字列を試してみました相関はありません。私はMD5を勉強してきたので、それがどのように動作するかについて合理的な知識を持っています。私はスクリプトを尋問してきましたが、それは合法的です。私は、なぜこのスクリプトがMD5を返さないのかを発見するという挑戦のために、別の人に叫び声をあげていると思います。
'私のバージョン? – JOUM
私はそれを実行し、それは '未定義のインデックス'のスルーを吐き出すので、私はそこをあきらめました。 – AbraCadaver
残念ながら、私は古いバージョンを実行しています - 5.3.28しかし、それでも純正のMD5ハッシュが返されるはずです。このスクリプトが真のMD5ハッシュを7で返したかどうか教えていただけないでしょうか? – James