当前位置: 首页 > news >正文

go 密码hash加密包 bcrypt

1.明文密码一般都会通过一套算法转成一条长长的字符串,密码验证这需要通过验证明文和加密字符串是否对应

2.go 有现成的hash算法包 "golang.org/x/crypto/bcrypt"   一般我们有一个工具包utils ,在工具里封装两个方法即可, 即 明文转成加密串   加密串和明文对比 两个方法

3.代码  在utils下建文件夹 和文件  utils/pwd/enter.go

enter.go 内容如下:

package pwdimport ("log""golang.org/x/crypto/bcrypt"
)// 将明文密码转为 hash密码
func HashPwd(pwd string) string {hash, err := bcrypt.GenerateFromPassword([]byte(pwd), bcrypt.MinCost)if err != nil {log.Println(err)}return string(hash)
}// 对比hash密码  与明文密码是否为一对
func CheckPwd(hashPwd string, pwd string) bool {byteHash := []byte(hashPwd)bytePwd := []byte(pwd)err := bcrypt.CompareHashAndPassword(byteHash, bytePwd)if err != nil {log.Println(err)return false}return true
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • CUDA原子操作
  • uniapp 表格,动态表头表格封装渲染
  • 柯桥小语种学习外语培训|法语学习法语浪漫的话有哪些,来看看吧~
  • 【2024_CUMCM】Matlab快速入门
  • eMMC规范 - 寻址/信息寄存器/总线协议/时序图/速度模式
  • 【YOLO格式的数据标签,目标检测】
  • Onnx 1-深度学习-概述1
  • SpringCloudAlibaba基础五 Nacos配置中心
  • LabVIEW平台从离散光子到连续光子的光子计数技术
  • Redis的配置和优化
  • 【Selenium配置】WebDriver安装浏览器驱动(ChromeEdge)
  • 大数据面试题之GreenPlum(1)
  • DP讨论——简单工厂模式
  • 【web]-信息收集-空白页面
  • 如何调整Oracle SGA的大小
  • android 一些 utils
  • C++入门教程(10):for 语句
  • docker python 配置
  • Hexo+码云+git快速搭建免费的静态Blog
  • Python中eval与exec的使用及区别
  • text-decoration与color属性
  • Twitter赢在开放,三年创造奇迹
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 悄悄地说一个bug
  • 优化 Vue 项目编译文件大小
  • kubernetes资源对象--ingress
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • #DBA杂记1
  • (12)Linux 常见的三种进程状态
  • (2015)JS ES6 必知的十个 特性
  • (21)起落架/可伸缩相机支架
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (附源码)c#+winform实现远程开机(广域网可用)
  • (附源码)php新闻发布平台 毕业设计 141646
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (四)图像的%2线性拉伸
  • (四十一)大数据实战——spark的yarn模式生产环境部署
  • (译) 函数式 JS #1:简介
  • (转)程序员疫苗:代码注入
  • (转)创业的注意事项
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .net dataexcel winform控件 更新 日志
  • .NET MVC之AOP
  • .net MySql
  • .NetCore部署微服务(二)
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .net和php怎么连接,php和apache之间如何连接
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • ??Nginx实现会话保持_Nginx会话保持与Redis的结合_Nginx实现四层负载均衡
  • @hook扩展分析
  • @selector(..)警告提示
  • @SpringBootConfiguration重复加载报错
  • [ CTF ]【天格】战队WriteUp- 2022年第三届“网鼎杯”网络安全大赛(青龙组)