Heim >Backend-Entwicklung >PHP-Tutorial >Installation und Beispiele der PHP-Verschlüsselungserweiterungsbibliothek Mcrypt

Installation und Beispiele der PHP-Verschlüsselungserweiterungsbibliothek Mcrypt

怪我咯
怪我咯Original
2017-07-05 10:56:021540Durchsuche

PHP-Verschlüsselungserweiterungsbibliotheken umfassen Mcrypt und Mhash. Unter ihnen kann die Mcrypt-Erweiterungsbibliothek Verschlüsselungs- und Entschlüsselungsfunktionen implementieren

Eine kurze Einführung in mcrypt 🎜>PHP-Programmierer Beim Schreiben von Codeprogrammen ist neben der Gewährleistung der hohen Leistung des Codes auch die Sicherheit des Programms ein sehr wichtiger Punkt. Zusätzlich zu mehreren eigenen Verschlüsselungsfunktionen verfügt PHP auch über die umfassenderen PHP-Verschlüsselungserweiterungsbibliotheken Mcrypt und Mhash.
Unter anderem kann die Mcrypt-Erweiterungsbibliothek Verschlüsselungs- und Entschlüsselungsfunktionen realisieren, das heißt, sie kann Klartext verschlüsseln und Chiffretext wiederherstellen.
mcrypt ist eine wichtige Erweiterungsbibliothek zur Verschlüsselungsunterstützung in PHP. In Linux-Umgebungen ist diese Bibliothek standardmäßig nicht aktiviert. In der Windows-Umgebung: PHP>=5.3 ist die mcrypt-Erweiterung standardmäßig aktiviert.
1. Installation der Mcrypt()-Bibliothek
mcypt ist eine sehr leistungsstarke Erweiterungsbibliothek für Verschlüsselungsalgorithmen. Mcrypt wird während des Standard-PHP-Installationsprozesses nicht installiert, aber die Datei libmcrypt.dll ist im PHP-Home-Verzeichnis enthalten, sodass wir nur das Semikolon vor extension=php_mcrypt.dll in dieser Zeile in der PHP-Konfigurationsdatei entfernen müssen. , und starten Sie dann den Server neu, um diese Erweiterungsbibliothek zu verwenden.
Unterstützte Algorithmen und Verschlüsselungsmodi
Die Mcrypt-Bibliothek unterstützt mehr als 20 Verschlüsselungsalgorithmen und 8 Verschlüsselungsmodi, die über die Funktionen
mcrypt_list_algorithms() und mcrypt_list_modes( ) Zeige [1] Verschlüsselungsalgorithmus Die von Mcrypt unterstützten Algorithmen sind:
cast-128
gost
rijndael-128
twofish
arcfour
cast-256
loki97
rijndael-192
saferplus
wake
blowfish-compat
des
rijndael-256
serpent
xtea
blowfish
enigma
rc2
Tripledes
Verschlüsselungsmodus
Die von Mcrypt unterstützten Verschlüsselungsmodi sind:
cbc
cfb
ctr
ecb
ncfb
nofb
ofb
stream
Diese Algorithmen und Modi sollten durch Konstanten in der Anwendung dargestellt werden. Fügen Sie beim Schreiben die Präfixe MCRYPT_ und MCRYPT_ hinzu, um sie darzustellen, wie im folgenden

Beispiel einer Mcrypt-Anwendung

DES-Algorithmus Wird als MCRYPT_DES ausgedrückt; Ich erzähle es den meisten Leuten nicht!

Verschlüsselter Chiffretext: 鍍??]??q???L Lachen??"? ?
Wiederherstellen: Mein Name ist? Ich werde es gewöhnlichen Leuten nicht sagen!
f35d6e602fd7d0f0edfa6f7d103c1b57Aus dem Beispiel Es ist ersichtlich, dass vor der Verwendung der PHP-Verschlüsselungserweiterungsbibliothek Mcrypt zum Verschlüsseln und Entschlüsseln von Daten zunächst ein Initialisierungsvektor erstellt wird, der als iv bezeichnet wird. Der Initialisierungsvektor wird als $iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher,$modes) erstellt. ,MCRYPT_RAND); Es sind zwei Parameter erforderlich: size gibt die Größe von iv an; der Wert MCRYPT_RAND ist die Systemzufallszahl

2cc198a1d5eb0d3eb508d858c9f5cbdb gibt die Größe des Initialisierungsvektors zurück und die Parameter cipher und mode beziehen sich auf den Algorithmus bzw. den Verschlüsselungsmodus

5bdf4c78156c7953567bb5a0aef2fc53 ; Die fünf Parameter dieser Funktion sind wie folgt: Verschlüsselungsalgorithmus, Schlüssel – Schlüssel, Daten (str) – zu verschlüsselnde Daten, Modus – Algorithmusmodus, iv – Initialisierungsvektor

23889872c2e8594e0f446a471a78ec4c ($cipher,$key,$str_encrypt ,$modes,$iv); Die Parameter dieser Funktion und der Verschlüsselungsfunktion
<?php
$str = "我的名字是?一般人我不告诉他!"; //加密内容
$key = "key:111"; //密钥
$cipher = MCRYPT_DES; //密码类型
$modes = MCRYPT_MODE_ECB; //密码模式
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher,$modes),MCRYPT_RAND);//初始化向量
echo "加密明文:".$str."<p>";
$str_encrypt = mcrypt_encrypt($cipher,$key,$str,$modes,$iv); //加密函数
echo "加密密文:".$str_encrypt." <p>";
$str_decrypt = mcrypt_decrypt($cipher,$key,$str_encrypt,$modes,$iv); //解密函数
echo "还原:".$str_decrypt;
?>
sind nahezu identisch. Der einzige Unterschied besteht in den Daten, was bedeutet, dass Daten die Daten sind das muss entschlüsselt werden $str_encrypt, nicht die Originaldaten $str 🎜>Hinweis: Die Parameter Chiffre, Schlüssel und Modus in den Verschlüsselungs- und Entschlüsselungsfunktionen müssen eins zu eins übereinstimmen, sonst können die Daten nicht wiederhergestellt werden


Zusammenfassung
mcrypt-Bibliothekskonstanten
Die Mcrypt-Bibliothek unterstützt mehr als 20 Verschlüsselungsalgorithmen. Und 8 Verschlüsselungsmodi können über die Funktionen mcrypt_list_algorithms() und mcrypt_list_modes() angezeigt werden.

Das obige ist der detaillierte Inhalt vonInstallation und Beispiele der PHP-Verschlüsselungserweiterungsbibliothek Mcrypt. 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