Heim > Artikel > Backend-Entwicklung > Wie kann ich Dateien in PHP mithilfe moderner Bibliotheken sicher verschlüsseln und entschlüsseln?
Dateien mit Mcrypt verschlüsseln und entschlüsseln: Ein moderner Ansatz
Einführung
Mcrypt einmal eine beliebte Verschlüsselungsbibliothek für PHP, ist veraltet und wird nicht mehr zur Verwendung empfohlen. Für eine sichere und zuverlässige Dateiverschlüsselung bieten moderne Alternativen wie OpenSSL oder Sodium PHP robuste Lösungen.
Verschlüsselungsfunktion
Hier ist eine aktualisierte Verschlüsselungsfunktion mit OpenSSL:
function encryptFile($fileData, $key) { $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('AES-256-CBC')); $encryptedData = openssl_encrypt($fileData, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv); return base64_encode($iv . $encryptedData); }
Entschlüsselungsfunktion
Ebenso Die folgende Entschlüsselungsfunktion nutzt die neue Bibliothek:
function decryptFile($encryptedData, $key) { $ivSize = openssl_cipher_iv_length('AES-256-CBC'); $iv = substr($encryptedData, 0, $ivSize); $encryptedData = substr($encryptedData, $ivSize); $decryptedData = openssl_decrypt($encryptedData, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv); return $decryptedData; }
Verwendung
Um eine Datei zu verschlüsseln, lesen Sie ihren Inhalt in eine Variable und rufen Sie die Funktion encryptFile mit dem Inhalt auf und den Verschlüsselungsschlüssel und speichern Sie die verschlüsselten Daten in der Ausgabedatei.
Zur Entschlüsselung lesen Sie den Inhalt der verschlüsselten Datei in eine Variable ein, Rufen Sie die Funktion decryptFile mit den verschlüsselten Daten und dem Entschlüsselungsschlüssel auf und schreiben Sie die entschlüsselten Daten in die Ausgabedatei.
Fazit
Durch die Nutzung moderner Verschlüsselungsbibliotheken können Sie dies tun Verschlüsseln und entschlüsseln Sie Dateien sicher in PHP und gewährleisten Sie so die Vertraulichkeit und Integrität sensibler Daten.
Das obige ist der detaillierte Inhalt vonWie kann ich Dateien in PHP mithilfe moderner Bibliotheken sicher verschlüsseln und entschlüsseln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!