Heim  >  Artikel  >  Backend-Entwicklung  >  Was sind die am häufigsten verwendeten Verschlüsselungsmethoden in PHP?

Was sind die am häufigsten verwendeten Verschlüsselungsmethoden in PHP?

青灯夜游
青灯夜游Original
2021-03-26 11:42:266614Durchsuche

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()“.

Was sind die am häufigsten verwendeten Verschlüsselungsmethoden in PHP?

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!

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