Lithe Hash は、Bcrypt アルゴリズムを使用してパスワードを安全にハッシュするために設計された堅牢なモジュールです。このモジュールは、パスワード ハッシュの作成、検証、管理のプロセスを簡素化し、セキュリティのベスト プラクティスが確実に遵守されるようにします。
lithemod/hash パッケージをインストールするには、Composer を使用できます。ターミナルで次のコマンドを実行します:
composer require lithemod/hash
これにより、プロジェクトの依存関係にパッケージが追加され、アプリケーションで Hash クラスを使用できるようになります。
Hash クラスを使用する前に、それを PHP ファイルにインポートする必要があります。
use Lithe\Support\Security\Hash;
パスワードからハッシュを作成するには、make メソッドを使用します。このメソッドは、パスワードとオプションのオプションの配列を受け入れます:
$hash = Hash::make('sua_senha', ['cost' => 10]);
パラメータ:
戻り値: データベースに保存できるハッシュ文字列。
例:
$password = 'minha_senha_segura'; $hash = Hash::make($password, ['cost' => 12]); echo "Senha Hashed: " . $hash;
パスワードがハッシュと一致するかどうかを確認するには、check:
メソッドを使用します。
$isValid = Hash::check('sua_senha', $hash); if ($isValid) { echo 'Senha é válida!'; } else { echo 'Senha inválida.'; }
パラメータ:
戻り値: パスワードがハッシュと一致する場合は true。それ以外の場合は false。
例:
if (Hash::check('minha_senha_segura', $hash)) { echo 'Senha está correta!'; } else { echo 'Senha está incorreta!'; }
needsRehash:
メソッドを使用して、ハッシュを再ハッシュする必要があるかどうか (たとえば、コスト係数を変更する場合) を判断できます。
$needsRehash = Hash::needsRehash($hash, ['cost' => 14]); if ($needsRehash) { // Rehash com um novo custo $hash = Hash::make('sua_senha', ['cost' => 14]); }
パラメータ:
戻り値: ハッシュを再ハッシュする必要がある場合は true。それ以外の場合は false。
例:
composer require lithemod/hash
Bcrypt は広く使用されているパスワード ハッシュ関数で、低速で計算量が多く、ブルート フォース攻撃に耐えられるように設計されています。 Bcrypt では、構成可能なコスト要素を利用することで、ハードウェアの高速化に応じてハッシュの難易度を高めることができます。
コストが有効な範囲 (4 ~ 31) の外に設定されている場合、make メソッドは InvalidArgumentException をスローします。堅牢性を確保するには、コード内でこれを処理する必要があります:
use Lithe\Support\Security\Hash;
以上がLithe Hash: 安全なパスワードハッシュのための堅牢なモジュールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。