ホームページ >バックエンド開発 >PHPチュートリアル >PHP でパスワードを安全に暗号化および復号化するにはどうすればよいですか?
双方向暗号化: 取得可能なパスワードの保存
暗号化と復号化
暗号化と復号化PHP でパスワードを復号化し、暗号化クラスを利用します。キーストレッチ、IV 隠蔽、HMAC 検証、その他のセキュリティ対策をカプセル化します。クラス実装の例が提供されています。
class Encryption { // Cipher and mode used for encryption private $cipher; private $mode; // Constructor (usage example) public function __construct($cipher = MCRYPT_BLOWFISH, $mode = MCRYPT_MODE_CBC) { $this->cipher = $cipher; $this->mode = $mode; } // Encrypts data public function encrypt($data, string $key): string { // ... } // Decrypts data public function decrypt($data, string $key): string { // ... } }
最も安全なアルゴリズムの選択
最も安全な暗号化方式は、ブロック サイズが 8 バイトの MCRYPT_BLOWFISH および MCRYPT_RIJNDAEL_128 です。 MCRYPT_MODE_CBC
秘密キーのストレージ
セキュリティを強化するには、ユーザー用、アプリケーション用、ユーザー固有のソルト用に 1 つずつ、複数のキーを使用することを検討してください。 。アプリケーション固有のキーを Web ルートとは別に安全に保管します。ユーザー固有のキーを暗号化されたパスワードとともにデータベースに保存します。パスワードを復号化する必要がある場合、ユーザーに秘密キーの入力を要求します。
パスワード侵害の防止
パスワードの盗難を軽減するには、システム侵害から保護する厳格なセキュリティ対策を実装してください。 MITM 攻撃、および HTTP トラフィック スニッフィング。すべてのトラフィックに SSL を使用し、サーバー上の脆弱性を排除します。
暗号化に関する追加の考慮事項
以上がPHP でパスワードを安全に暗号化および復号化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。