go 密码hash加密包 bcrypt

news/2024/9/11 3:39:47/ 标签: golang, 哈希算法, 开发语言

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
}


http://www.ppmy.cn/news/1475224.html

相关文章

Studying-代码随想录训练营day33| 动态规划理论基础、509.斐波那契函数、70.爬楼梯、746.使用最小花费爬楼梯

第33天,动态规划开始,新的算法💪(ง •_•)ง,编程语言:C 目录 动态规划理论基础 动态规划的解题步骤 动态规划包含的问题 动态规划如何debug 509.斐波那契函数 70.爬楼梯 746.使用最小花费爬楼梯 总结 动态…

mysql快速精通(四)多表查询

主打一个实用 一. 连接查询 交叉连接 交叉连接返回两个表的笛卡尔积,即每个表的每一行与另一个表的每一行组合 语法: SELECT *FROM table1 CROSS JOIN table2;内连接 查询两张表都存在的数据,即排除两张表的未匹配部分 语法: SELECT 字段名 FROM 左表 IN…

【ceph】ceph集群-添加/删除mon

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8…

Python-数据爬取(爬虫)

~~~理性爬取~~~ 杜绝从入门到入狱 1.简要描述一下Python爬虫的工作原理,并介绍几个常用的Python爬虫库。 Python爬虫的工作原理 发送请求:爬虫向目标网站发送HTTP请求,通常使用GET请求来获取网页内容。解析响应:接收并解析HTTP响…

力扣第230题“二叉搜索树中第K小的元素”

在本篇文章中,我们将详细解读力扣第230题“二叉搜索树中第K小的元素”。通过学习本篇文章,读者将掌握如何使用中序遍历来找到二叉搜索树中的第K小的元素,并了解相关的复杂度分析和模拟面试问答。每种方法都将配以详细的解释,以便于…

PostgreSQL 怎样处理数据仓库中维度表和事实表的关联性能?

文章目录 PostgreSQL 中维度表和事实表关联性能的处理 PostgreSQL 中维度表和事实表关联性能的处理 在数据仓库的领域中,PostgreSQL 作为一款强大的关系型数据库管理系统,对于处理维度表和事实表的关联性能是一个关键的问题。维度表和事实表的关联是数据…

2024最新最全面的软件测试自动化面试题(含答案)

1.如何把自动化测试在公司中实施并推广起来的? 选择长期的有稳定模块的项目 项目组调研选择自动化工具并开会演示demo案例,我们主要是演示selenium和robot framework两种。 搭建自动化测试框架,在项目中逐步开展自动化。 把该项目的自动化…

paddla模型转gguf

在使用ollama配置本地模型时,只支持gguf格式的模型,所以我们首先需要把自己的模型转化为bin格式,本文为paddle,onnx,pytorch格式的模型提供说明,safetensors格式比较简单请参考官方文档,或其它教…

决策树构建精要:算法步骤与实现细节

决策树构建:算法流程与步骤 决策树是一种强大的机器学习算法,用于分类和回归问题。下面将详细介绍决策树的构建流程和具体步骤,帮助您理解并实现决策树算法。 1. 算法流程 决策树的构建流程可以概括为以下几个主要步骤: 特征选…

Apache-Flink未授权访问高危漏洞修复

漏洞等级 高危漏洞!!! 一、漏洞描述 攻击者没有获取到登录权限或未授权的情况下,或者不需要输入密码,即可通过直接输入网站控制台主页面地址,或者不允许查看的链接便可进行访问,同时进行操作。 二、修复建议 根据业务/系统具体情况,结合如下建议做出具体选择: 配…

OpenGL笔记一之基础窗体搭建以及事件响应

OpenGL笔记一之基础窗体搭建以及事件响应 总结自bilibili赵新政老师的教程 code review! 文章目录 OpenGL笔记一之基础窗体搭建以及事件响应1.运行2.目录结构3.main.cpp4.CMakeList.txt 1.运行 2.目录结构 01_GLFW_WINDOW/ ├── CMakeLists.txt ├── glad.c ├── main…

Web3 社交领域的开发技术

Web3 社交领域的开发技术主要包括以下几种,随着 Web3 技术的不断发展,Web3 社交领域将会出现更多新的技术和应用场景。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1. 区块链技术 区块链技术是 Web3 社交的…

探索邻近奥秘:SKlearn中K-近邻(KNN)算法的应用

探索邻近奥秘:SKlearn中K-近邻(KNN)算法的应用 在机器学习的世界里,K-近邻(K-Nearest Neighbors,简称KNN)算法以其简单直观而著称。KNN是一种基本的分类和回归方法,它的工作原理非常…

ElasticSearch 深度分页详解

原文链接:https://zhuanlan.zhihu.com/p/667036768 1 前言 ElasticSearch 是一个实时的分布式搜索与分析引擎,常用于大量非结构化数据的存储和快速检索场景,具有很强的扩展性。纵使其有诸多优点,在搜索领域远超关系型数据库&…

【人工智能】-- 迁移学习

个人主页:欢迎来到 Papicatch的博客 课设专栏 :学生成绩管理系统 专业知识专栏: 专业知识 文章目录 🍉引言 🍉迁移学习 🍈基本概念 🍍定义 🍌归纳迁移学习(Induct…

LeetCode HOT100(四)字串

和为 K 的子数组(mid) 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 输入:nums [1,1,1], k 2 输出:2 解法1:前缀和Map 这…

租用海外服务器需要考虑哪些因素

当企业选择租用海外服务器时需要考虑到哪些因素呢? 对于海外服务器的租用我们需要考虑到机房的位置以及服务器的稳定性如何,所以企业可以选择离目标用户群体比较近一点的机房,以此来降低服务器的延迟度并且能够提高用户的访问速度。 对于机房…

WEB07Vue+Ajax

1. Vue概述 Vue(读音 /vjuː/, 类似于 view),是一款用于构建用户界面的渐进式的JavaScript框架(官方网站:https://cn.vuejs.org)。 在上面的这句话中呢,出现了三个词,分别是&#x…

Memcached负载均衡:揭秘高效缓存分发策略

标题:Memcached负载均衡:揭秘高效缓存分发策略 在分布式缓存系统中,Memcached通过负载均衡技术来提高缓存效率和系统吞吐量。负载均衡确保了缓存请求能够均匀地分配到多个缓存节点上,从而防止任何一个节点过载。本文将深入探讨Me…