Auth hash

Testing Is Documentation

tests/Auth/HashTest.phpAuth hash - 图1

密码哈希主要用于登陆验证密码,功能非常简单,仅提供密码加密方法 password 和校验方法 verify

password 原型

  1. # Leevel\Auth\Hash::password
  2. /**
  3. * 生成密码.
  4. */
  5. public function password(string $password, array $option = []): string;

verify 原型

  1. # Leevel\Auth\Hash::verify
  2. /**
  3. * 校验密码.
  4. */
  5. public function verify(string $password, string $hash): bool;

Uses

  1. <?php
  2. use Leevel\Auth\Hash;

密码哈希基本使用

  1. public function testBaseUse(): void
  2. {
  3. $hash = new Hash();
  4. $hashPassword = $hash->password('123456');
  5. $this->assertTrue($hash->verify('123456', $hashPassword));
  6. }

密码哈希带配置例子

底层使用的是 password_hash 函数,详细见下面的链接。

https://www.php.net/manual/zh/function.password-hash.phpAuth hash - 图2

  1. public function testWithCost(): void
  2. {
  3. $hash = new Hash();
  4. $hashPassword = $hash->password('123456', ['cost' => 12]);
  5. $this->assertTrue($hash->verify('123456', $hashPassword));
  6. }