PHP は、複雑な Web アプリケーションの作成に使用できる、人気のあるサーバー側スクリプト言語です。重要な機能の 1 つは、機密データの暗号化と復号化です。この記事では、PHP を使用して暗号化および復号化する方法について説明します。
$plaintext = 'This is the plaintext'; $key = 'mysecretkey'; // Encrypt the data $encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $plaintext, MCRYPT_MODE_ECB)); // Decrypt the data $decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, base64_decode($encrypted), MCRYPT_MODE_ECB); echo $decrypted; // Output: This is the plaintextこの例では、Rijndael 128 ビット アルゴリズム (AES アルゴリズムとも呼ばれる) を使用してデータの暗号化と復号化を行います。まず、プレーンテキストとキーを mcrypt_encrypt 関数に渡し、データを暗号化します。次に、暗号化されたデータを Base64 エンコードを使用してエンコードします。データを復号化するときは、同じキーを使用して mcrypt_decrypt 関数を使用してデータを復号化し、base64_decode 関数を使用して事前に暗号化されたデータを復元します。
$plaintext = 'This is the plaintext'; $public_key = openssl_pkey_get_public(file_get_contents('public.pem')); $private_key = openssl_pkey_get_private(file_get_contents('private.pem')); // Encrypt the data openssl_public_encrypt($plaintext, $encrypted, $public_key); $encrypted = base64_encode($encrypted); // Decrypt the data openssl_private_decrypt(base64_decode($encrypted), $decrypted, $private_key); echo $decrypted; // Output: This is the plaintextこの例では、RSA アルゴリズムを使用してデータの暗号化と復号化を行います。まず、openssl_pkey_get_public 関数と openssl_pkey_get_private 関数を使用して、それぞれ公開鍵と秘密鍵を取得します。次に、平文を openssl_public_encrypt 関数に渡し、公開キーを渡してデータを暗号化し、base64 エンコードを使用して暗号化されたデータを表します。データを復号化するときは、openssl_private_decrypt 関数と秘密キーを使用してデータを復号化し、base64_decode 関数を使用して暗号化前のデータを復元します。
$data = 'This is the data'; $hash = md5($data); echo $hash; // Output: 05a671c66aefea124cc08b76ea6d30bbこの例では、md5 関数を使用して $data のハッシュ値を計算し、echo ステートメントを使用して出力します。 ハッシュ関数はパスワードの検証によく使用されます。この場合、パスワードの強度を高めるために「ソルト」を使用することがよくあります。ソルトは、ハッシュ化する前に元のパスワードに追加されるランダムな文字列です。ソルトを使用してハッシュを計算する例を次に示します。
$password = 'mypassword'; $salt = '4f1f79d0f620c'; $hash = md5($password . $salt); echo $hash; // Output: b9e7d3217eae9517d2b01a773688fc1fこの例では、パスワードとソルトを連結してハッシュを計算します。パスワード検証では、ユーザーが入力したパスワードとデータベースに保存されているハッシュ値(ソルト値を含む)を比較して、パスワードが正しいかどうかを検証できます。 ハッシュ関数を使用する場合、ハッシュ値を逆に復号することはできないことに注意してください。したがって、ハッシュ関数は通常、データを暗号化するのではなく、データの整合性を検証するために使用されます。 概要この記事では、対称暗号化アルゴリズム、非対称暗号化アルゴリズム、ハッシュ関数など、PHP を使用した暗号化と復号化の主な方法を紹介しました。実際には、実際のニーズに応じてさまざまな暗号化方式を選択する必要があります。暗号化方式に関係なく、セキュリティとパフォーマンスに注意を払う必要があります。機密データを暗号化および復号する場合は、データのセキュリティと整合性を確保するためのベスト プラクティスに従う必要があります。
以上がPHPを使用して暗号化および復号化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。