PHP はサーバーサイドのスクリプト言語として、機密データの処理によく使用されます。データの暗号化は、機密データを送信または保存する場合に非常に重要です。この記事では、PHP におけるデータ暗号化のテクニックを紹介します。
ハッシュ関数は、任意の長さのメッセージを固定長のダイジェストに圧縮する関数です。 PHP には、md5()、sha1() などの一般的なハッシュ関数が組み込まれています。
次は、SHA256 を使用してパスワードをハッシュする例です:
$password = 'password123'; $hashedPassword = hash('sha256', $password); //加密后的密码
暗号化にハッシュ関数を使用する利点は、パスワードが暗号化されると、平文に復号化できないことです。 . 確認できます。
$data = "这是一段敏感内容"; $method = 'AES-256-CBC'; $key = md5('my_secret_key'); $iv = md5('my_iv'); //加密 $encrypted_data = openssl_encrypt($data, $method, $key, 0, $iv); //解密 $decrypted_data = openssl_decrypt($encrypted_data, $method, $key, 0, $iv);このサンプル コードでは、暗号化に AES-256-CBC アルゴリズムが使用されます。このうち、キーは md5 ハッシュ アルゴリズムを使用して「my_secret_key」を処理し、IV は md5 ハッシュ アルゴリズムを使用して「my_iv」を処理します。 対称暗号化を使用する場合、キーのセキュリティを確保する必要があることに注意してください。そうでないと、キーがハッカーによって取得され、解読される可能性があります。 #非対称暗号化
以下はサンプル コードです:
$data = "这是一段敏感内容"; //生成密钥对 $config = array( "digest_alg" => "sha512", "private_key_bits" => 2048, "private_key_type" => OPENSSL_KEYTYPE_RSA, ); $res = openssl_pkey_new($config); openssl_pkey_export($res, $private_key); $public_key = openssl_pkey_get_details($res); $public_key = $public_key["key"]; //加密 openssl_public_encrypt($data, $encrypted, $public_key); //解密 openssl_private_decrypt($encrypted, $decrypted, $private_key);
このサンプル コードでは、最初に RSA 公開キーと秘密キーのペアが生成され、次に公開キーが暗号化に使用され、秘密キーが生成されます。復号化に使用されます。
非対称暗号化では秘密鍵を適切に保管する必要があり、そうでないと漏洩する危険性があることに注意してください。
要約すると、PHP のデータ暗号化技術には、ハッシュ関数暗号化、対称暗号化、および非対称暗号化が含まれます。実際のアプリケーションでは、特定の状況に応じて適切な暗号化方式を選択し、キーの安全性を確保する必要があります。
以上がPHP のデータ暗号化技術の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。