例
文字列「Hello」の MD5 ハッシュを計算する:
<?php $str = "Hello"; echo md5($str); ?>
定義と使用法
md5() 関数は、文字列の MD5 ハッシュを計算します。
md5() 関数は、MD5 メッセージ ダイジェスト アルゴリズムを含む RSA データ セキュリティを使用します。
RFC 1321 の説明 - MD5 メッセージ ダイジェスト アルゴリズム: MD5 メッセージ ダイジェスト アルゴリズムは、任意の長さの情報を入力値として受け取り、それを 128 ビット長の「フィンガープリント情報」または「メッセージ ダイジェスト」値に変換します。この入力値を表します。そして変換された値を結果として返します。 MD5 アルゴリズムは主に、安全な方法で圧縮する前に、RSA などの暗号化システムの公開キーを使用して大きなファイルを暗号化するデジタル署名アプリケーション向けに設計されています。
ファイルの MD5 ハッシュを計算するには、md5_file() 関数を使用します。
構文
md5(string,raw)
パラメータ 説明
文字列 必須。計算する文字列を指定します。
生 オプション。 16 進数またはバイナリの出力形式を指定します:
TRUE - 生の 16 文字のバイナリ形式
using use with with use using out out out through off ‐ ‐ ‐ ‐ ‐ ‐ バイナリ形式にする。 32 文字の 16 進数
技術的な詳細
戻り値: 成功した場合は計算された MD5 ハッシュを返し、失敗した場合は FALSE を返します。
その他の例
インスタンス 1
md5() の結果を出力します:
<?php $str = "Hello"; echo "The string: ".$str."<br>"; echo "TRUE - Raw 16 character binary format: ".md5($str, TRUE)."<br>"; echo "FALSE - 32 character hex number: ".md5($str)."<br>"; ?>
インスタンス 2
md5() の結果を出力してテストします:
<?php $str = "Hello"; echo md5($str); if (md5($str) == "8b1a9953c4611296a827abf8c47804d7") { echo "<br>Hello world!"; exit; } ?>
一般来说,一个提供会员注册的网站必定需要采集用户的密码,如何保存用户密码就是个问题。我们当然不能将密码以明文的方式储存在数据库中,因为这样的话,一般的管理员就可以查看到用户密码,显然对用户来说是件相当危险的事情。
那如何解决这个问题呢,我们可以采取这样的策略。
首先介绍一下PHP中MD5函数的使用方法:
<?php $pswd1=md5("cenusdesign"); echo $pswd1; //运行结果为:fc60ec37d1c08d5b0fb67a8cd934d5ba $pswd2=md5("Cenusdesign"); echo $pswd2; //运行结果为:067577d9fc109c80538c81d6f02bd293 ?>
显然,经过md5加密后,原本“cenusdesign”转变成了一组32位的字符串,而且,即使是一个字母的大小写变化,这组字符串就会发生巨大的变化。
Cenus Design建议把用户注册时,将密码首先经过MD5转换,然后将转换加密后的数据库。在用户登陆时,也将密码先进行MD5转化,再和数据库中那组经过MD5加密的字符串进行比较。这样,就可以做到在不知道用户确切密码的情况下完成密码的比对操作。
以上がPHPは文字列のMD5ハッシュを計算しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。