ホームページ >バックエンド開発 >PHPチュートリアル >PHP で暗号化されたパスワードを安全に取得するにはどうすればよいですか?
パスワードの安全な取得: 暗号化とハッシュを超えて
データのセキュリティを確保することは重要ですが、パスワードなどの機密情報を保存すると特有の課題が生じます。暗号化の本質はデータにアクセスできないようにすることにあるため、後で取得するためにデータを暗号化することは直観に反しているように思えるかもしれません。ただし、明確に定義された暗号化と復号化の戦略により、このハードルは克服できます。
PHP では、パスワードに bcrypt のようなハッシュ関数を単純に使用することはできません。これは一方向の変換であり、取得が不可能になるためです。これに対処するには、セキュリティを維持しながら元のパスワードを取得できる暗号化とスクランブル方式を組み合わせて使用することを検討してください。
包括的な暗号化ソリューション
安全にするにはパスワードを暗号化および復号化するには、次の PHP を考慮してください。 code:
$key = 'password to (en/de)crypt'; $string = ' string to be encrypted ';
// Encryption $iv = mcrypt_create_iv( mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC), MCRYPT_DEV_URANDOM ); $encrypted = base64_encode( $iv . mcrypt_encrypt( MCRYPT_RIJNDAEL_128, hash('sha256', $key, true), $string, MCRYPT_MODE_CBC, $iv ) );
// Decryption $data = base64_decode($encrypted); $iv = substr($data, 0, mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC)); $decrypted = rtrim( mcrypt_decrypt( MCRYPT_RIJNDAEL_128, hash('sha256', $key, true), substr($data, mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC)), MCRYPT_MODE_CBC, $iv ), "" );
重要な考慮事項
提供されたコードは情報を暗号化しますが、改ざんを防ぐために暗号文を認証しないことに注意することが重要です。セキュリティを強化するには、非認証暗号化のみに依存しないことをお勧めします。
追加リソース
さらに詳しくは、次のリソースを参照してください。洞察:
注意:暗号化キーのセキュリティ
暗号化キーとして「パスワード」を決して使用しないでください。暗号化キーはランダムな文字列である必要があります。
以上がPHP で暗号化されたパスワードを安全に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。