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(使用前将#替换为@)