<?php
echo substr(md5("admin"),8,16); // 16 MD5
echo "<hr>";
echo md5("admin"); // 32 MD5
?>
16ビットのMD 5暗号化はsubstr関数で文字を切り取りました。 深く研究したくなくなりました。 :) 頭を他の肝心なところに置いてください。 今日はphpリンクmssqlデータベースを作りました。データベースのテーブルのフィールドはMD 5を使って16暗号化されました。しかし、phpのMD 5はデフォルトでは32ビットです。登録プログラムがmd 5暗号化されて表のフィールドにマッチすることができなくなりました。ネットで検索しても、多くの人が困惑しています。解決方法を見つけたら、正しいものを記録します。substr関数を使って切り取ります。substr(md 5(「admin」)、8、16);16ビットMD 5暗号化md 5(「admin」);32ビットのMD 5を暗号化して私達のテスト結果は以下の通りです。aspのいくつかのmd 5で添付された結果は以下の通りです。もしMD 5が暗号化されていて、知らないパスワードがあったら、データベースの中でこの暗号化されたデータに交換してください。admin--16ビット暗号---7 a 57 a 5 a 743894 a 0 e admin-3ビット暗号化---21232 f 297 a 5 a 743894 a 0 e 4 a 801 fc 3 admin-40ビット暗号化---7 a 57 a 7494 a 0 e 4 a 801 f 343894 a 0 a 0 f 3 c 3 c 3 admin(str 5)16ビットMD 5暗号化は、上の32が8番目の文字から始まる16文字です。だから、みんなは唯一の問題を考えなくてもいいです。それ自体が正しい。インターネット上では、php 5は
echo md5("admin",true);// 16 , PHP5 。
のテスト出力をサポートしていると言われていますが、文字化けが行われています。何かいいコードがあれば、教えてください。