Heim > Artikel > Backend-Entwicklung > Was sind die am häufigsten verwendeten Verschlüsselungsmethoden in PHP?
Häufig verwendete Verschlüsselungsmethoden in PHP sind: 1. Verwenden Sie die Funktion crypt(); 4. Verwenden Sie die Funktion urlencode(); base64_encode()-Funktion; 6. Verwenden Sie die Funktion „password_hash()“.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Häufig verwendete PHP-Verschlüsselungsmethoden
1. MD5-Verschlüsselung
string md5 ( string $str [, bool $raw_output = false ] )
Parameter
str – Originalzeichenfolge.
raw_output – Wenn der optionale raw_output auf TRUE gesetzt ist, wird der MD5-Nachrichtenauszug im rohen Binärformat mit einer Länge von 16 Bytes zurückgegeben.
2. Crype Encryption
crypt() gibt eine Hash-Zeichenfolge zurück, die auf dem Standard-UNIX-DES-Algorithmus oder anderen auf dem System verfügbaren alternativen Algorithmen basiert.
string crypt ( string $str [, string $salt ] )
Parameters
str – Die Zeichenfolge, die gehasht werden soll.
salt – Optionale Salzwertzeichenfolge. Wenn nicht angegeben, wird das Verhalten des Algorithmus durch unterschiedliche Algorithmusimplementierungen bestimmt und kann zu unvorhersehbaren Enden führen.
Dies ist auch eine irreversible Verschlüsselung
3. Sha1-Verschlüsselung
string sha1 ( string $str [, bool $raw_output = false ] )
Parameter
str – Eingabezeichenfolge.
raw_output – Wenn der optionale Parameter raw_output auf TRUE gesetzt ist, wird der sha1-Digest im Rohformat mit einer Länge von 20 Zeichen zurückgegeben, andernfalls ist der Rückgabewert eine 40-stellige Hexadezimalzahl.
Dies ist auch eine irreversible Verschlüsselung
4. URL-Verschlüsselung
string urlencode ( string $str )
Diese Funktion erleichtert die Codierung der Zeichenfolge und deren Verwendung im Anforderungsteil der URL sowie die Übergabe von Variablen an die nächste Seite.
Gibt eine Zeichenfolge zurück, in der alle nicht alphanumerischen Zeichen außer -_ durch ein Prozentzeichen (%) gefolgt von zwei hexadezimalen Ziffern ersetzt werden und Leerzeichen als Pluszeichen (+) codiert werden. Diese Kodierung ist dieselbe wie die Kodierung von WWW-Formular-POST-Daten und dieselbe Kodierung wie der Medientyp application/x-www-form-urlencoded. Aus historischen Gründen unterscheidet sich diese Kodierung von der RFC1738-Kodierung darin, dass Leerzeichen als Pluszeichen (+) kodiert werden.
string urldecode ( string $str )
Dekodieren Sie alle %## in der angegebenen codierten Zeichenfolge. Das Pluszeichen („+“) wird in ein Leerzeichen dekodiert.
Dies ist eine reversible Verschlüsselung, die URL-Code-Methode wird zur Verschlüsselung und die URL-Decode-Methode zur Entschlüsselung verwendet
5 Base64-Informationskodierungsverschlüsselung
string base64_encode ( string $data )
Verwenden Sie Base64, um Daten zu kodieren.
Diese Kodierung soll die Übertragung binärer Daten über nicht reine 8-Bit-Transportschichten ermöglichen, beispielsweise den Text einer E-Mail.
Base64-kodierte Daten beanspruchen etwa 33 % mehr Platz als die Originaldaten.
string base64_decode ( string $data [, bool $strict = false ] )
Base64-kodierte Daten dekodieren.
Parameter
Daten – Verschlüsselte Daten.
strict – Gibt FALSE zurück, wenn die Eingabedaten das Base64-Alphabet überschreiten.
6.phpass (empfohlen)
Getestet mit PHPASS 0.3, einer Standardmethode zum Hashen von Benutzerkennwörtern vor dem Speichern in der Datenbank. Viele häufig verwendete Hashing-Algorithmen wie MD5 und sogar SHA1 sind für die Passwortspeicherung nicht sicher, da Hacker mit diesen Algorithmen leicht Passwörter knacken können.
Der sicherste Weg, Passwörter zu hashen, ist die Verwendung des bcrypt-Algorithmus. Die Open-Source-Phpass-Bibliothek bietet diese Funktion in einer benutzerfreundlichen Klasse
7. Ich persönlich denke, dass es sich um eine bessere Passwortverschlüsselungsmethode handelt
PHP5.5 führt die Passwort-Hashing-Funktion ein, und der Kernel ist nicht erforderlich Erweiterungen installieren. Es ist möglich, es unter PHP5.4 zu testen. Überprüfen Sie am besten, ob Ihre aktuelle Umgebung diese Funktionen unterstützt, bevor Sie es verwenden.
Passwort-Hashing bietet hauptsächlich 4 Funktionen
//1.查看哈希值的相关信息 array password_get_info (string $hash) //2.创建hash密码 string password_hash(string $password , integer $algo [, array $options ]) //3.判断hash密码是否特定选项、算法所创建 boolean password_needs_rehash (string $hash , integer $algo [, array $options ] //4.验证密码 boolean password_verify (string $password , string $hash)
Die folgenden Beispiele:
$password = 'password123456';//原始密码 $hash_password = password_hash($password, PASSWORD_BCRYPT);//使用BCRYPT算法加密密码 if (password_verify($password , $hash_password)){ echo "密码匹配"; }else{ echo "密码错误"; }
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas sind die am häufigsten verwendeten Verschlüsselungsmethoden in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!