ホームページ  >  記事  >  バックエンド開発  >  OpenSSL とカスタム PHP クラスを使用してファイルを安全に暗号化および復号化する方法

OpenSSL とカスタム PHP クラスを使用してファイルを安全に暗号化および復号化する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-21 10:03:10778ブラウズ

How to Securely Encrypt and Decrypt Files Using OpenSSL and a Custom PHP Class?

Mcrypt を使用してファイルを暗号化および復号化する方法

人気の暗号化ライブラリである Mcrypt は廃止され、使用は推奨されません。このため、OpenSSL 拡張機能を使用した代替暗号化手法を検討します。

カスタム暗号化クラスの作成

暗号化プロセスをカプセル化するには、カスタム クラスを定義します。 、AES256Encryption、OpenSSL の AES-256 を利用します。アルゴリズム。

class AES256Encryption
{
    const BLOCK_SIZE = 8;
    const IV_LENGTH = 16;
    const CIPHER = 'AES256';

    //... Encryption and Decryption Methods ...
}

使用法

$text = 'Plain text to be encrypted';
$key = 'Encryption key';
$iv = AES256Encryption::generateIv();  // Generates a random initialization vector (IV)
$encryptedText = AES256Encryption::encrypt($text, $key, $iv);  // Encrypts the text
$decryptedText = AES256Encryption::decrypt($encryptedText, $key, $iv);  // Decrypts the encrypted text

サンプル出力

Original Text: Plain text to be encrypted
Encrypted: Encrypted ciphertext
Decrypted: Plain text to be encrypted

その他考慮事項

  • IV 生成: AES256Encryption::generateIv() を使用して初期化ベクトル (IV) を安全に生成します。
  • Padding : 入力テキストは、適切であることを保証するためにブロック サイズの倍数にパディングされます。
  • Base64 エンコード: 暗号化および復号化されたデータは、便宜上 Base64 でエンコードされます。
  • 例外: 潜在的なエラーを報告するためのエラー処理が含まれています。暗号化または復号化中に発生する問題。

この更新されたアプローチでは、 OpenSSL は、最新の暗号化標準を使用してファイルとデータを暗号化および復号化するための安全で信頼性の高い方法を提供します。

以上がOpenSSL とカスタム PHP クラスを使用してファイルを安全に暗号化および復号化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。