コードをコピー コードは次のとおりです:
echo substr(md5("admin"),8 ,16) ; // 16 ビット MD5 暗号化
echo "
"; // 32 ビット MD5 暗号化
16 ビット MD5 暗号化は、substr 関数で文字をインターセプトすることで実装されます。
深く勉強したくありません :) 知恵を絞る必要があります。その他の重要な場所~~
今日作りました PHP は mssql データベースに接続し、データベース内のテーブルのフィールドは MD5 を使用して暗号化されます。ただし、PHP のデフォルトの MD5 は 32 ビットであるため、ログイン プログラムが md5 暗号化を使用してテーブル内のフィールドを照合することができません。後でオンラインで検索すると、その解決策が見つかりました。 、ということで録画してきました。
substr 関数を使用してインターセプトします:
substr(md5("admin"),8,16); // 16 ビット MD5 暗号化
md5("admin") ); // 32 ビット MD5 暗号化
スクリプト ハウスのテスト結果は次のとおりです:
asp添付ファイルのいくつかの md5 後の結果を比較しました。 : MD5 ファイルを暗号化したいがパスワードがわからない場合は、データベース内のこの暗号化されたデータのセットに置き換えてください。
管理者---16 ビット暗号化---7a57a5a743894a0e
管理者---32 ビット暗号化---21232f297a57a5a743894a0e4a801fc3
管理者---40 ビット暗号化---7a57a5a743894a0e4a 3894a0e4a801fc3
substr(md5("admin"),8,16); // 16 ビット MD5 暗号化は、まさに上記の 32 文字であり、8 文字目から始まる 16 文字です。したがって、一意性の問題を考慮する必要はありません。それ自体は正しいです。インターネット上の一部の人々は、php5 が
コピー コード をサポートしていると言っています。コードは次のとおりです:
echo md5("admin" ,true);//16 ビットを返しますが、これは PHP5 でのみ使用できます。
テスト後の出力結果は文字化けしていますが、良いコードがあれば共有していただけます。