ホームページ >バックエンド開発 >PHPチュートリアル >Lithe Hash: 安全なパスワードハッシュのための堅牢なモジュール

Lithe Hash: 安全なパスワードハッシュのための堅牢なモジュール

Barbara Streisand
Barbara Streisandオリジナル
2024-11-06 08:07:02316ブラウズ

Lithe Hash: Um Módulo Robusto para Hashing Seguro de Senhas

Lithe Hash は、Bcrypt アルゴリズムを使用してパスワードを安全にハッシュするために設計された堅牢なモジュールです。このモジュールは、パスワード ハッシュの作成、検証、管理のプロセスを簡素化し、セキュリティのベスト プラクティスが確実に遵守されるようにします。

索引

  1. インストール
  2. 使用
    • クラスのインポート
    • ハッシュの作成
    • ハッシュの検証
    • ハッシュの再ハッシュが必要かどうかを確認する
    • Bcrypt を理解する
    • 例外処理
  3. テスト
  4. ライセンス

インストール

lithemod/hash パッケージをインストールするには、Composer を使用できます。ターミナルで次のコマンドを実行します:

composer require lithemod/hash

これにより、プロジェクトの依存関係にパッケージが追加され、アプリケーションで Hash クラスを使用できるようになります。

使用

クラスのインポート

Hash クラスを使用する前に、それを PHP ファイルにインポートする必要があります。

use Lithe\Support\Security\Hash;

ハッシュの作成

パスワードからハッシュを作成するには、make メソッドを使用します。このメソッドは、パスワードとオプションのオプションの配列を受け入れます:

$hash = Hash::make('sua_senha', ['cost' => 10]);

パラメータ:

  • string $value: ハッシュされるパスワード。
  • $options 配列: ハッシュ アルゴリズムを調整するためのオプションのパラメーター (コストなど)。

戻り値: データベースに保存できるハッシュ文字列。

例:

$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.';
}

パラメータ:

  • string $value: チェックするパスワード。
  • string $hash: 比較用にハッシュ化されたパスワード。

戻り値: パスワードがハッシュと一致する場合は 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]);
}

パラメータ:

  • string $hash: 評価されるハッシュ化されたパスワード。
  • array $options: コストを指定するためのオプションのパラメータ。

戻り値: ハッシュを再ハッシュする必要がある場合は true。それ以外の場合は false。

例:

composer require lithemod/hash

Bcrypt を理解する

Bcrypt は広く使用されているパスワード ハッシュ関数で、低速で計算量が多く、ブルート フォース攻撃に耐えられるように設計されています。 Bcrypt では、構成可能なコスト要素を利用することで、ハードウェアの高速化に応じてハッシュの難易度を高めることができます。

  • コスト要素: コスト要素は、パスワードのハッシュ化の計算の複雑さを決定します。ハッシュ アルゴリズムの反復回数を表します。コストが高いほどセキュリティは強化されますが、処理時間も長くなります。ほとんどのアプリケーションでは、推奨範囲は 10 ~ 12 です。

例外処理

コストが有効な範囲 (4 ~ 31) の外に設定されている場合、make メソッドは InvalidArgumentException をスローします。堅牢性を確保するには、コード内でこれを処理する必要があります:

use Lithe\Support\Security\Hash;

以上がLithe Hash: 安全なパスワードハッシュのための堅牢なモジュールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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