PHP-Verschlüsselungserweiterungsbibliothek – Mhash-Erweiterungsbibliothek
Was ist die Mhash-Erweiterungsbibliothek: Mhash ist eine irreversible PHP-Verschlüsselungserweiterungsbibliothek, die auf dem Prinzip der diskreten Mathematik basiert , was standardmäßig nicht aktiviert ist. mhash kann verwendet werden, um Verifizierungswerte, Nachrichtenauszüge und Nachrichtenauthentifizierungscodes zu erstellen und Schlüsselinformationen (z. B. Passwörter) ohne den Originaltext zu speichern.
1.Installation der Mhash-Erweiterungsbibliothek
Die Installation der Mhash-Erweiterungsbibliothek ähnelt der Installation der Mcrypt-Erweiterungsbibliothek kann darauf verweisen. Vorheriger Artikel „PHP-Verschlüsselungserweiterungsbibliothek – Mcrypt-Erweiterungsbibliothek“!
2.Mhash-Erweiterungsbibliothekskonstanten
Mhash-Bibliothek unterstützt mehrere Hashing-Algorithmen wie MD5, SHA, CRC32 usw. und kann mit mhash_count() ausgegeben werden und mhash_get_hash_name()-Funktionen Unterstützte Algorithmusnamen. Schauen wir uns den Beispielcode unten an:
<?php header("Content-Type:text/html; charset=utf-8"); $num = mhash_count(); //函数返回最大的hash id echo "mhash库支持的算法有:<br>"; for($i=0;$i<=$num;$i++){ echo $i."=>".mhash_get_hash_name($i)."<br>".""; //输出每一个hash id 的名称 } ?>
Das Ausgabeergebnis ist:
Hinweis: Wenn Sie die oben genannten Konstanten verwenden In tatsächlichen Anwendungen müssen Sie MHASH_ als Präfix vor dem Algorithmusnamen hinzufügen. Beispielsweise wird CRC32 als MHASH_CRC32 dargestellt.
3.Mhash-Anwendung
Im Vergleich zu den mehr als 30 Funktionen der Mcrypt-Erweiterungsbibliothek gibt es in der Mhash-Bibliothek nur 5 Funktionen, außer Zusätzlich zu diesen beiden Funktionen werden die folgenden drei weiteren Funktionen eingeführt.
(1)mhash_get_block_size()-Funktion
Das Funktionssyntaxformat ist wie folgt:
int mhash_get_block_size ( int $hash )
Diese Funktion wird verwendet, um den Block abzurufen Größe des Parameters hash, zum Beispiel: mhash_get_biock_size(MHASH_CRC32).
(2)mhash()-Funktion
Das Funktionssyntaxformat ist wie folgt:
string mhash(int hash,string data[,string key])
Diese Funktion gibt einen Hashwert zurück. Der Parameter-Hash ist der zu verwendende Algorithmus, die Parameterdaten sind die zu verschlüsselnden Daten und der Parameterschlüssel ist der für die Verschlüsselung verwendete Schlüssel.
(3) Funktion mhash_keygen_s2k()
Das Funktionssyntaxformat ist wie folgt:
string mhash_keygen_s2k ( int $hash , string $password , string $salt, int $bytes )
Diese Funktion gibt eine Einheit entsprechend zurück Die Parameter Passwort und Salt sind der Schlüsselwert in Bytes und der Parameter Hash ist der zu verwendende Algorithmus. Der Salt ist ein fester 8-Byte-Wert. Wenn der vom Benutzer angegebene Wert weniger als 8 Bytes beträgt, wird er mit Nullen aufgefüllt.
Im folgenden Beispiel wird die Funktion mhash_keygen_s2k() verwendet, um einen Prüfcode zu generieren, und die Funktion bin2hex() wird verwendet, um das binäre Ergebnis in hexadezimal umzuwandeln. Der spezifische Code lautet wie folgt:
<?php header("Content-Type:text/html; charset=utf-8"); $filename = "08.txt"; // 文件路径 $str = file_get_contents($filename); //读取文件内容到变量$str中 $hash = 2 ; //设置hash值 $password = "111"; //设置变量$password $salt = "1234"; //设置变量$salt $key = mhash_keygen_s2k(1,$password,$salt,10); //生成key 值 $str_mhash =bin2hex(mhash($hash,$str,$key)); //使用$key 值、$hash值对字符串$str 加密 echo "文件 08.txt 的校验码是:".$str_mhash; //输出校验码 ?>
Das Ausgabeergebnis ist;
[Verwandte Empfehlungen]
1. Empfohlene verwandte Themen: „PHP-Verschlüsselungsfunktion“
Das obige ist der detaillierte Inhalt vonPHP-Verschlüsselungserweiterungsbibliothek – detaillierte Erläuterung der Verwendung von Beispielen für die Mhash-Erweiterungsbibliothek. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!