跳转到内容

哈希

Goravel 的 facades.Hash() 提供安全的 Argon2id 和 Bcrypt 哈希算法,用于存储用户密码。 如果您正在使用 Goravel 应用程序启动套件之一,默认情况下将使用 Argon2id 进行注册和身份验证。

配置

应用程序的默认哈希驱动程序在应用程序的 config/hashing.go 配置文件中配置。 目前支持几种驱动程序:Argon2id 和 Bcrypt。

基本用法

哈希密码

您可以通过调用 facades.Hash()Make 方法来哈希密码:

go
password, err := facades.Hash().Make(password)

验证密码是否匹配哈希值

Hash facade 提供的 Check 方法允许您验证给定的明文字符串是否与给定的哈希值相对应:

go
if facades.Hash().Check('plain-text', hashedPassword) {
    // 密码匹配...
}

确定密码是否需要重新哈希

Hash facade 提供的 NeedsRehash 方法允许你确定自密码被哈希后,哈希器使用的工作因子是否已经改变。 一些应用程序选择在应用程序的认证过程中执行此检查:

go
if facades.Hash().NeedsRehash(hashed) {
     hashed = facades.Hash().Make('plain-text');
}

基于 MIT 许可发布