Golang加密和解密应用
知识预备
- mysql
- gorm
- gin
- bcrypt
实现步骤
安装库
go get -u gorm.io/gorm
go get -u gorm.io/driver/mysql
go get github.com/gin-gonic/gin
导包
加密解密算法
// 生成密码
func GenPwd(pwd string) ([]byte, error) {
// 加密处理
hash, err := bcrypt.GenerateFromPassword([]byte(pwd), bcrypt.DefaultCost)
return hash, err
}
// 比对密码
func ComparePwd(pwd1 string, pwd2 string) bool {
err := bcrypt.CompareHashAndPassword([]byte(pwd1), []byte(pwd2))
// pwd1:数据库中的密码
// pwd2:用户输入的密码
if err != nil {
return false
} else {
return true
}
}
首页
main.go
func Index(c *gin.Context) {
c.HTML(200,"index.html",nil)
}
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title