MCrypt로 파일 암호화 및 복호화
Mcrypt 라이브러리는 PHP에서 암호화 및 복호화 작업을 위한 기능을 제공합니다. 다음은 파일 암호화 및 해독에 사용하는 방법에 대한 예입니다.
// ENCRYPT FILE function encryptFile() { $key = generateKey(); // Function to generate a secure encryption key $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-128-cbc')); // Generate a random initialization vector $plaintext = file_get_contents(PATH . '/ftpd/' . $file); $encrypted = openssl_encrypt($plaintext, 'aes-128-cbc', $key, OPENSSL_RAW_DATA, $iv); $encryptedFile = fopen(PATH . '/encrypted/' . $file . '.txt', 'w'); fwrite($encryptedFile, $iv . $encrypted); fclose($encryptedFile); unlink(PATH . '/ftpd/' . $file); } // DECRYPT FILE function decryptFile() { $key = generateKey(); // Function to generate the same encryption key used in encryption if ($handle = opendir(PATH . '/encrypted')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { $encryptedFile = fopen(PATH . '/encrypted/' . $file, 'r'); $encryptedData = fread($encryptedFile, filesize(PATH . '/encrypted/' . $file)); $iv = substr($encryptedData, 0, openssl_cipher_iv_length('aes-128-cbc')); $decrypted = openssl_decrypt(substr($encryptedData, openssl_cipher_iv_length('aes-128-cbc')), 'aes-128-cbc', $key, OPENSSL_RAW_DATA, $iv); $decryptedFile = fopen(PATH . '/decrypted/' . $file, 'w'); fwrite($decryptedFile, $decrypted); fclose($decryptedFile); // unlink(PATH . '/encrypted/' . $file); } } closedir($handle); } }
중요 사항:
위 내용은 PHP에서 OpenSSL을 사용하여 파일을 어떻게 암호화하고 해독할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!