go 生成密码 php的 password_hash go实现

 基础语法  2023-09-21  admin  1788  2413

package main

import (
	"fmt"
	"golang.org/x/crypto/bcrypt"
)

func main() {
	hashedPassword := passwordHash("123456")
	fmt.Println(hashedPassword)

	hashedPassword = "$2y$10$SIIu9q8oTuIbOJIAZy30TuILKz2z8H28zdZs8Hy8q52Xnf4X4Oke6" // php的 password_hash('123456',PASSWORD_DEFAULT);
	result := passwordVerify("123456", hashedPassword)
	fmt.Println(result)
}

// 生成密码
func passwordHash(password string) string {
	hashedPassword, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost)
	if err != nil {
		fmt.Println(err)
		return ""
	}
	return string(hashedPassword)
}

// 验证密码是否正确
func passwordVerify(password, hashedPassword string) bool {
	err := bcrypt.CompareHashAndPassword([]byte(hashedPassword), []byte(password))
	if err == nil {
		return true
	} else {
		fmt.Println(err)
		return false
	}
}


如果文章对您有帮助,点击下方的广告,支持一下作者吧!

相关推荐


php中密码强中弱判断,php密码验证规则

//密码种类//1.小写字母//2.大写字母//3.数字//4.特殊符号//弱 1//中 2//强 3 或 4//长度 6~16个字符,区分大小写//1.长度判断 $pwd_len=strlen($password); if($pwd_len>16||$pwd_len<6){ echo"<script>alert('密码长度应为6~16个字符&