Heim > Artikel > Backend-Entwicklung > So verschlüsseln/entschlüsseln Sie Dateien mit Exklusiv-ODER (XOR) über PHP
PHP verwendet XOR (XOR) zum Verschlüsseln/Entschlüsseln von Dateien
Prinzip: Führen Sie eine bitweise XOR-Operation für jedes Byte der Datei und des aus Schlüssel (XOR) wird bei der Entschlüsselung erneut eine XOR-Operation durchgeführt.
Der Code lautet wie folgt:
<?php $source = 'test.jpg'; $encrypt_file = 'test_enc.jpg'; $decrypt_file = 'test_dec.jpg'; $key = 'D89475D32EA8BBE933DBD299599EEA3E'; echo '<p>source:</p>'; echo '<img src="'.$source.'" width="200">'; echo '<hr>'; file_encrypt($source, $encrypt_file, $key); // encrypt echo '<p>encrypt file:</p>'; echo '<img src="'.$encrypt_file.'" width="200">'; echo '<hr>'; file_encrypt($encrypt_file, $decrypt_file, $key); // decrypt echo '<p>decrypt file:</p>'; echo '<img src="'.$decrypt_file.'" width="200">'; /** 文件加密,使用key与原文异或生成密文,解密则再执行一次异或即可 * @param String $source 要加密或解密的文件 * @param String $dest 加密或解密后的文件 * @param String $key 密钥 */ function file_encrypt($source, $dest, $key){ if(file_exists($source)){ $content = ''; // 处理后的字符串 $keylen = strlen($key); // 密钥长度 $index = 0; $fp = fopen($source, 'rb'); while(!feof($fp)){ $tmp = fread($fp, 1); $content .= $tmp ^ substr($key,$index%$keylen,1); $index++; } fclose($fp); return file_put_contents($dest, $content, true); }else{ return false; } } ?>
In diesem Artikel wird die Verwendung von Ausnahmen erläutert Durch PHP Oder (XOR) verschlüsseln/entschlüsseln Sie Dateien. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
So erhalten Sie den Namen einer Variablen über PHP
Erfahren Sie mehr über das Klonen von PHP-Objekten
Verwandte Vorgänge im allgemeinen MySQL-Protokoll
Das obige ist der detaillierte Inhalt vonSo verschlüsseln/entschlüsseln Sie Dateien mit Exklusiv-ODER (XOR) über PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!