go中的bcrypt加密

2023-05-16

1、bcrypt是不可逆的加密算法,无法通过解密密文得到明文。
2、bcrypt和其他对称或非对称加密方式不同的是,不是直接解密得到明文,也不是二次加密比较密文,而是把明文和存储的密文一块运算得到另一个密文,如果这两个密文相同则验证成功。

下载:go mod download golang.org/x/crypto
代码:

// 进行加密处理
func Password(s string) ([]byte, error) {
	hash, err := bcrypt.GenerateFromPassword([]byte(s),bcrypt.DefaultCost)

	fmt.Println("b is ", string(hash))
	fmt.Println("b len is ", len(string(hash)))

	return hash, err
}

// 对比密码
func ComParePwd(pwd1 string, pwd2 string) (bool){
	err := bcrypt.CompareHashAndPassword([]byte(pwd1),[]byte(pwd2))
	if err != nil {
		return true
	}else{
		return false
	}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

go中的bcrypt加密 的相关文章

随机推荐