ホームページ >バックエンド開発 >PHPチュートリアル >PHP暗号化・復号化技術の応用

PHP暗号化・復号化技術の応用

WBOY
WBOYオリジナル
2024-05-02 08:15:021014ブラウズ

PHP は、Web 開発における機密情報を保護するための暗号化および復号化テクノロジを提供します。組み込み関数には、不可逆ハッシュを生成するための md5()、sha1()、および hash() が含まれます。サードパーティのライブラリ (PHPseclib、sodium_compat など) を使用して、対称暗号化や非対称暗号化などのより高いレベルの暗号化を実装することもできます。実際には、データベース侵害が発生した場合にパスワードが公開されるのを防ぐために、ユーザー パスワードはクリア テキストではなく暗号化されたハッシュとして保存する必要があります。

PHP 加密和解密技术的应用

PHP 暗号化および復号化テクノロジのアプリケーション

Web 開発ではデータ セキュリティが重要であり、暗号化および復号化テクノロジはデータ保護に役立ちます。ユーザーのパスワードや財務データなどの機密情報。 PHP は、暗号化と復号化を簡単に実装できる一連の組み込み関数とサードパーティ ライブラリを提供します。

暗号化関数

PHP には、次のような一般的に使用される暗号化関数がいくつか組み込まれています。

  • md5():32 ビット長の MD5 ハッシュ値の文字列を生成します。
  • sha1(): 40 ビット長の SHA-1 ハッシュ値を生成します。
  • hash(): 指定されたアルゴリズム (MD5、SHA-1 など) のハッシュ値を生成します。

コード例:

$password = 'my_password';

$hashed_password = md5($password);

復号化関数

暗号化ハッシュ関数 (MD5 など) は元に戻せないため, そのため、ハッシュを復号して元のテキストに戻すことはできません。ただし、次のような復号化を実現する他の方法もあります。

  • 対称暗号化: データの暗号化と復号化に同じキーを使用します。
  • 非対称暗号化: キーのペア (公開キーと秘密キー) を使用して、データの暗号化と復号化を行います。

サードパーティ ライブラリ

組み込み関数に加えて、サードパーティの PHP ライブラリを使用して、より高いレベルの暗号化と復号化を実現することもできます。例:

  • PHPseclib: 包括的で安全な暗号化ライブラリ。
  • sodium_compat: 最新の暗号化スキームを使用するライブラリ。

実際的なケース:

暗号化されたユーザー パスワードの保存

ユーザーが登録するとき、ユーザーはパスワードを設定する必要があります。クリアテキストではなくハッシュとして保存されます。これにより、データベース侵害が発生した場合にパスワードが公開されるのを防ぎます。

コード例:

$username = 'username';
$password = 'password';

$conn = new mysqli('localhost', 'root', 'password', 'database');

$hashed_password = md5($password);

$query = "INSERT INTO users (username, password) VALUES ('$username', '$hashed_password')";

$conn->query($query);

以上がPHP暗号化・復号化技術の応用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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