PHPでファイルを暗号化するコードはどのように書けばいいですか。
ファイルを暗号化するには、PHPのopenssl拡張機能を使用することができます。openssl_encrypt関数を使用してファイルを暗号化する例は以下の通りです:
<?php
$plaintextFile = 'plaintext.txt'; // 待加密的文件名
$ciphertextFile = 'ciphertext.txt'; // 加密后的文件名
$key = 'mykey'; // 密钥
// 打开待加密的文件和加密后的文件
$plaintext = file_get_contents($plaintextFile);
$ciphertext = fopen($ciphertextFile, 'wb');
// 加密文件
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-cbc'));
$encrypted = openssl_encrypt($plaintext, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);
// 将初始化向量iv写入加密文件的开头
fwrite($ciphertext, $iv);
// 将加密后的内容写入加密文件
fwrite($ciphertext, $encrypted);
// 关闭文件句柄
fclose($ciphertext);
echo '文件加密完成。';
?>
この例では、ファイルをAES-256-CBC暗号アルゴリズムを使用して暗号化します。 ランダムな初期化ベクトル(iv)を生成し、暗号化ファイルの先頭に追加します。 次に、ファイルの内容をopenssl_encrypt関数を使用して暗号化し、暗号化された内容を暗号化ファイルに書き込みます。
注意してください、これは単なる簡単な例です、実際のソリューションではさらに多くのセキュリティ対策が必要かもしれません。たとえば、鍵のセキュリティを保護し、より強力なアルゴリズムやパラメータを検討する必要があります。
願わくは、これがあなたのお役に立てるといいです!