Aktueller Standort: Startseite> Neueste Artikel> Detaillierte Erläuterung der PHP -SSL -Verschlüsselung und Entschlüsselungs-, Überprüfungs- und Signaturmethoden

Detaillierte Erläuterung der PHP -SSL -Verschlüsselung und Entschlüsselungs-, Überprüfungs- und Signaturmethoden

gitbox 2025-06-29

SSL -Verschlüsselung und Entschlüsselung

SSL (Secure Sockets Layer) ist ein Protokoll, das die Internetkommunikation schützt und die Verschlüsselung der Datenübertragung zwischen Clients und Servern sicherstellt. In PHP können Sie die von der OpenSSL -Erweiterung bereitgestellten Funktionen verwenden, um die Verschlüsselungs- und Entschlüsselungsfunktionen von SSL zu implementieren.

Verschlüsselte Daten

In PHP können Sie die Funktion opensensl_encrypt verwenden. Hier ist ein einfaches Verschlüsselungsbeispiel:

 
$data = 'Hello, World!';
$key = 'mysecretkey';
$encryptedData = openssl_encrypt($data, 'AES-256-CBC', $key, 0, 'myiv');
echo $encryptedData;

Der obige Code verwendet den AES-256-CBC-Algorithmus, um $ Daten zu verschlüsseln. $ key ist der Verschlüsselungsschlüssel, $ IV ist der anfängliche Vektor, und das endgültige Verschlüsselungsergebnis wird in der Variablen $ EncryptedData gespeichert.

Entschlüsseln Sie die Daten

Um den Chiffretext zu entschlüsseln, können Sie die Funktion openensl_decrypt verwenden. Hier ist ein Beispiel für die Entschlüsselung:

 
$encryptedData = '...'; // Verschlüsselte Daten
$key = 'mysecretkey';
$decryptedData = openssl_decrypt($encryptedData, 'AES-256-CBC', $key, 0, 'myiv');
echo $decryptedData;

Dieser Code verwendet den AES-256-CBC-Algorithmus, um $ verschlüsselteData zu entschlüsseln.

SSL -Überprüfung und Unterschrift

Zusätzlich zur Verschlüsselung und Entschlüsselung bietet SSL auch Datenüberprüfungs- und Signaturfunktionen, um die Integrität der Daten und die Authentizität seiner Quelle sicherzustellen.

Daten überprüfen

Um digitale Signaturen zu überprüfen, können Sie die Funktion openensl_verify verwenden. Hier ist ein Beispiel für die Überprüfung:

 
$data = 'Hello, World!';
$signature = '...'; // Digitale Signatur
$publicKey = openssl_get_publickey(file_get_contents('public.pem'));
$isValid = openssl_verify($data, $signature, $publicKey, OPENSSL_ALGO_SHA256);
if ($isValid) {
    echo 'Data is verified.';
} else {
    echo 'Data is not verified.';
}

Dieser Code überprüft die Signatur von $ Data über den öffentlichen Schlüssel. Wenn die Überprüfung erfolgreich ist, ist die $ isValid -Variable wahr, andernfalls ist sie falsch.

Signaturdaten

Um die Daten zu unterzeichnen, können Sie die Funktion openenssl_sign verwenden. Hier ist ein Beispiel für eine Signatur:

 
$data = 'Hello, World!';
$privateKey = openssl_get_privatekey(file_get_contents('private.pem'));
openssl_sign($data, $signature, $privateKey, OPENSSL_ALGO_SHA256);
echo $signature;

Dieser Code signiert $ Data mit einem privaten Schlüssel und speichert die Signatur in der $ Signature -Variablen.

Zusammenfassen

In diesem Artikel stellen wir vor, wie die OpenSSL -Erweiterung verwendet wird, um SSL -Verschlüsselung, Entschlüsselung, Überprüfung und Signatur in PHP zu implementieren. Durch diese Vorgänge können Sie die Sicherheit und Integrität Ihrer Daten besser sicherstellen. Ich hoffe, dieser Artikel hilft Ihnen.