PHP を使用してデータを安全に暗号化および復号化するにはどうすればよいですか?
Dec 22, 2024 pm 07:14 PMPHP でパスワードを安全に暗号化および復号化する方法
外国アカウントの資格情報などの機密ユーザー情報を保存するには、データを保護するための特別な予防措置が必要です安全。暗号化は保護層を提供しますが、平文データへの不正アクセスを防ぐ堅牢な方法を採用することが重要です。
ハッシュと暗号化
ハッシュは、次の場合に推奨されるアプローチです。パスワードの保管場所。暗号化とは異なり、ハッシュはパスワードを元に戻せない固有の形式に変換するため、元のパスワードを取得することが事実上不可能になります。これにより、たとえ攻撃者がハッシュされたパスワードにアクセスしたとしても、ユーザー アカウントを侵害することはできません。
暗号化および復号化関数
暗号化が必要な場合は、PHPテキストを暗号化および復号化するためのいくつかの関数を提供します。一般的な方法の 1 つは、AES-128 としても知られる Rijndael 暗号です。
$key = 'password to (en/de)crypt'; $string = ' string to be encrypted '; // note the spaces
To Encrypt:
$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 ) );
To復号化:
$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 サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











LaravelのバックエンドでReactアプリを構築する:パート2、React
