Beispiel
Berechnen Sie den MD5-Hash der Zeichenfolge „Hallo“:
<?php $str = "Hello"; echo md5($str); ?>
Definition und Verwendung
Die Funktion md5() berechnet den MD5-Hash der Zeichenfolge .
Die md5()-Funktion nutzt RSA-Datensicherheit, einschließlich des MD5-Message-Digest-Algorithmus.
Erklärung aus RFC 1321 – MD5-Message-Digest-Algorithmus: Der MD5-Message-Digest-Algorithmus nimmt Informationen beliebiger Länge als Eingabewert und wandelt sie in einen 128-Bit langen „Fingerabdruck-Informationen“ oder „Nachrichtenzusammenfassung“-Wert um um diesen Eingabewert und den konvertierten Wert als Ergebnis darzustellen. Der MD5-Algorithmus ist in erster Linie für digitale Signaturanwendungen konzipiert, bei denen größere Dateien mit einem öffentlichen Schlüssel in einem kryptografischen System wie RSA verschlüsselt werden (durch Festlegen eines privaten Schlüssels), bevor sie auf sichere Weise komprimiert werden.
Um den MD5-Hash einer Datei zu berechnen, verwenden Sie die Funktion md5_file().
Syntax
md5(string,raw)
Parameter Beschreibung
Zeichenfolge Erforderlich. Gibt die zu berechnende Zeichenfolge an.
roh Gibt das hexadezimale oder binäre Ausgabeformat an:
TRUE – rohes 16-stelliges Binärformat zur Ausgabe im Hexadezimal- oder Binärformat: 32-stellige Hexadezimalzahl
Technische Details
Rückgabewert: Gibt bei Erfolg den berechneten MD5-Hash zurück, andernfalls wird FALSE zurückgegeben.
PHP-Version: 4+
Änderungsprotokoll: In PHP 5.0 Rohparameter werden optional.
Weitere Beispiele
Instanz 1
Das Ergebnis von md5() ausgeben:
Instanz 2<?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>"; ?>
Geben Sie das Ergebnis von md5() aus und testen Sie es:
<?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加密的字符串进行比较。这样,就可以做到在不知道用户确切密码的情况下完成密码的比对操作。
Das obige ist der detaillierte Inhalt vonPHP berechnet den MD5-Hash der Zeichenfolge. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!