Heim > Backend-Entwicklung > PHP-Tutorial > Verwendung der PHP-Bibliothek für Verschlüsselungs- und Entschlüsselungsfunktionen

Verwendung der PHP-Bibliothek für Verschlüsselungs- und Entschlüsselungsfunktionen

王林
Freigeben: 2023-06-16 10:52:02
Original
1732 Leute haben es durchsucht

Verwendung der PHP-Bibliothek für Verschlüsselungs- und Entschlüsselungsfunktionen

Da Netzwerksicherheitsprobleme immer wichtiger werden, ist die Verschlüsselung zu einem unverzichtbaren Bestandteil der modernen Netzwerktechnologie geworden. In PHP stellt die Verschlüsselungs- und Entschlüsselungsfunktionsbibliothek viele Verschlüsselungs- und Entschlüsselungsfunktionen bereit, mit denen vertrauliche Informationen verarbeitet und die Datensicherheit gewährleistet werden können. In diesem Artikel wird die Verwendung der PHP-Verschlüsselungs- und Entschlüsselungsfunktionsbibliothek vorgestellt.

1. Häufig verwendete Verschlüsselungs- und Entschlüsselungsfunktionen

  1. md5-Verschlüsselung:

md5-Verschlüsselung ist eine irreversible Verschlüsselungsmethode, die häufig zum Speichern von Passwörtern und zur Überprüfung der Integrität von Dateien verwendet wird. Die Verwendung ist sehr einfach, zum Beispiel:

$message = 'password';
$encrypted = md5($message);
Nach dem Login kopieren
  1. sha1-Verschlüsselung:

sha1-Verschlüsselung ist ebenfalls eine irreversible Verschlüsselungsmethode und ihre Verwendung ähnelt der MD5-Verschlüsselung. Zum Beispiel:

$message = 'password';
$encrypted = sha1($message);
Nach dem Login kopieren
  1. Base64-Verschlüsselung:

Base64-Verschlüsselung ist eine reversible Verschlüsselungsmethode, die sich zum Kodieren von Binärdaten in das ASCII-Zeichenformat eignet. Zum Beispiel:

$message = 'password';
$encrypted = base64_encode($message);
Nach dem Login kopieren

base64-Entschlüsselung kann die Funktion base64_decode verwenden. Zum Beispiel:

$encrypted = 'cGFzc3dvcmQ=';
$message = base64_decode($encrypted); 
Nach dem Login kopieren
  1. AES-Verschlüsselung:

AES-Verschlüsselung bietet eine reversible Verschlüsselungsmethode, die zum Schutz der Datenübertragung und -speicherung verwendet werden kann. Die Verwendung ist wie folgt:

$message = 'password';
$key = 'mysecretkey';
$encrypted = openssl_encrypt($message, 'AES-256-CBC', $key);
Nach dem Login kopieren

wobei „AES-256-CBC“ der Verschlüsselungsalgorithmus und $key der Schlüssel ist. Für die AES-Entschlüsselung kann die Funktion „openssl_decrypt“ verwendet werden. Zum Beispiel:

$encrypted = 'G0TzOGxUWSJ2XOGVTYaZDFtB26oTVPqsIiL0FmzNVcA=';
$key = 'mysecretkey';
$message = openssl_decrypt($encrypted, 'AES-256-CBC', $key);
Nach dem Login kopieren
  1. RSA-Verschlüsselung:

RSA-Verschlüsselung bietet eine Möglichkeit zur Verschlüsselung mit öffentlichen Schlüsseln und zur Entschlüsselung mit privaten Schlüsseln, die für gängige Datenverschlüsselungsszenarien geeignet ist. Die Verwendung ist wie folgt:

Generieren Sie zuerst den öffentlichen und den privaten Schlüssel:

$privKey = openssl_pkey_new(array(
    'private_key_bits' => 1024,
    'private_key_type' => OPENSSL_KEYTYPE_RSA,
));

openssl_pkey_export($privKey, $pkey);

$pubKey = openssl_pkey_get_details($privKey);
$pubKey = $pubKey['key'];
Nach dem Login kopieren

Dann verwenden Sie den öffentlichen Schlüssel zum Verschlüsseln:

$message = 'password';
$encrypted = '';
$success = openssl_public_encrypt($message, $encrypted, $pubKey);
Nach dem Login kopieren

RSA-Entschlüsselung kann die Funktion openssl_private_decrypt verwenden. Zum Beispiel:

$encrypted = '';
$message = '';
$success = openssl_private_decrypt($encrypted, $message, $privKey);
Nach dem Login kopieren

2. Verwendung des Verschlüsselungs- und Entschlüsselungsmoduls

In tatsächlichen Anwendungen müssen wir möglicherweise ein vollständiges Verschlüsselungs- und Entschlüsselungsmodul verwenden, um die Datensicherheit zu gewährleisten. In PHP gibt es einige hervorragende Verschlüsselungs- und Entschlüsselungsmodule wie mcrypt und Sodium. Im Folgenden wird die Verwendung dieser beiden Module beschrieben.

  1. mcrypt-Modul:

mcrypt-Modul ist ein weit verbreitetes Verschlüsselungs- und Entschlüsselungsmodul in PHP, das eine Vielzahl symmetrischer und asymmetrischer Verschlüsselungsalgorithmen bereitstellt. Die Verwendung ist wie folgt:

Legen Sie zuerst den Schlüssel und den Initialisierungsvektor fest:

$key = 'mysecretkey';
$iv = mcrypt_create_iv(
mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC),
MCRYPT_RAND);
Nach dem Login kopieren

Verwenden Sie dann die Funktion mcrypt_encrypt zum Verschlüsseln:

$message = 'password';
$encrypted = mcrypt_encrypt(
MCRYPT_RIJNDAEL_256,
$key,
$message,
MCRYPT_MODE_CBC,
$iv
);
Nach dem Login kopieren

mcrypt Die Entschlüsselung kann mit der Funktion mcrypt_decrypt erfolgen. Beispiel:

$decrypted = mcrypt_decrypt(
MCRYPT_RIJNDAEL_256,
$key,
$encrypted,
MCRYPT_MODE_CBC,
$iv
);

$decrypted = rtrim($decrypted, "");
echo $decrypted;
Nach dem Login kopieren
  1. Natriummodul:

Natriummodul ist ein Verschlüsselungs- und Entschlüsselungsmodul, das in PHP7 und höher eingeführt wurde. Es bietet viele erweiterte Verschlüsselungsfunktionen, wie z. B. Passwort-Hash-Funktionen und digitale Signaturalgorithmen. Die Verwendung ist wie folgt:

Generieren Sie zuerst den Schlüssel:

$key = sodium_crypto_secretbox_keygen();
Nach dem Login kopieren

Dann verwenden Sie die Funktion „natrium_crypto_secretbox“ zum Verschlüsseln: „

$message = 'password';
$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$encrypted = sodium_crypto_secretbox($message, $nonce, $key);
Nach dem Login kopieren

Bei der Natriumentschlüsselung kann die Funktion „sodium_crypto_secretbox_open“ verwendet werden. Zum Beispiel:

$decrypted = sodium_crypto_secretbox_open($encrypted, $nonce, $key);

if ($decrypted === false) {
    throw new Exception('Failed to decrypt message');
}

echo $decrypted;
Nach dem Login kopieren
3. Zusammenfassung

Heutzutage, da Netzwerksicherheit immer wichtiger wird, ist Verschlüsselung zu einer unverzichtbaren Technologie zum Schutz der Privatsphäre geworden. PHP bietet eine Fülle von Verschlüsselungs- und Entschlüsselungsfunktionsbibliotheken und -modulen. Entwickler können je nach Bedarf die am besten geeignete Verschlüsselungsmethode auswählen, um die Datensicherheit zu gewährleisten. Ich glaube, dass die Leser durch die Einleitung dieses Artikels die grundlegende Verwendung der PHP-Verschlüsselungs- und Entschlüsselungsfunktionsbibliothek und die Verwendung häufig verwendeter Verschlüsselungs- und Entschlüsselungsmodule beherrschen.

Das obige ist der detaillierte Inhalt vonVerwendung der PHP-Bibliothek für Verschlüsselungs- und Entschlüsselungsfunktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage