GoravelGoravel
首页
视频
  • English
  • 简体中文
GitHub
首页
视频
  • English
  • 简体中文
GitHub
  • 前言

    • 升级指南

      • 从 v1.14 升级到 v1.15
      • 从 v1.13 升级到 v1.14
      • 历史版本升级
    • 贡献指南
    • 优秀扩展包
  • 入门指南

    • 安装
    • 配置信息
    • 文件夹结构
    • 编译
  • 核心架构

    • 请求周期
    • 服务容器
    • 服务提供者
    • Facades
  • 基本功能

    • 路由
    • HTTP 中间件
    • 控制器
    • 请求
    • 响应
    • 视图
    • Grpc
    • Session
    • 表单验证
    • 日志
  • 综合话题

    • Artisan 命令行
    • 缓存系统
    • 事件系统
    • 文件储存
    • 邮件
    • 队列
    • 任务调度
    • 本地化
    • 扩展包开发
    • 颜色
    • Strings
    • 辅助函数
  • 安全相关

    • 用户验证
    • 用户授权
    • 加密解密
    • 哈希
  • ORM

    • 快速入门
    • 模型关联
    • 数据库迁移
    • 数据填充
    • 模型工厂
  • 测试相关

    • 快速入门
    • HTTP Tests
    • Mock

哈希

  • 简介
  • 配置
  • 基本用法
    • 哈希密码
    • 验证密码是否与哈希匹配
    • 检查密码是否需要重新散列 / 哈希

简介

Goravel facades.Hash() 为存储用户密码提供了安全的 Argon2id 和 Bcrypt 哈希加密方式。如果你正在使用 Goravel 应用初始脚手架 ,默认情况下,将使用 Argon2id 进行注册和身份验证。

配置

你可以在 config/hashing.go 配置文件中配置默认哈希驱动程序。目前支持两种驱动程序: Bcrypt 和 Argon2id。

基本用法

哈希密码

你可以通过调用 facades.Hash() 的 Make 方法来加密你的密码:

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

验证密码是否与哈希匹配

Check 方法能为你验证一段给定的未加密字符串与给定的散列 / 哈希值是否一致:

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

检查密码是否需要重新散列 / 哈希

NeedsRehash 方法可以为你检查当散列 / 哈希的加密系数改变时,你的密码是否被新的加密系数重新加密过。某些应用程序选择在身份验证时执行这一项检查:

if facades.Hash().NeedsRehash(hashed) {
     hashed = facades.Hash().Make("plain-text");
}
Edit this page
Prev
加密解密