Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Verschlüsselungserweiterungsbibliothek – detaillierte Erläuterung der Verwendung von Beispielen für die Mhash-Erweiterungsbibliothek

PHP-Verschlüsselungserweiterungsbibliothek – detaillierte Erläuterung der Verwendung von Beispielen für die Mhash-Erweiterungsbibliothek

黄舟
黄舟Original
2017-05-25 16:15:003525Durchsuche

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:

PHP-Verschlüsselungserweiterungsbibliothek – detaillierte Erläuterung der Verwendung von Beispielen für die Mhash-Erweiterungsbibliothek

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;

PHP-Verschlüsselungserweiterungsbibliothek – detaillierte Erläuterung der Verwendung von Beispielen für die Mhash-Erweiterungsbibliothek


[Verwandte Empfehlungen]

1. Empfohlene verwandte Themen: „PHP-Verschlüsselungsfunktion

2.PHP-Verschlüsselungserweiterungsbibliothek – Beispiel für die Verwendung der Mcrypt-Erweiterungsbibliothek



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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn