⚗️ add bcrypt

This commit is contained in:
landaiqing
2024-08-06 14:16:25 +08:00
parent 86b907d4d0
commit 331835f949
3 changed files with 32 additions and 13 deletions

View File

@@ -1,22 +1,21 @@
package db package db
import "schisandra-cloud-album/global" import (
"schisandra-cloud-album/global"
"schisandra-cloud-album/model"
)
func MakeMigration() { func MakeMigration() {
var err error var err error
global.LOG.Infof("开始迁移数据库") global.LOG.Infof("开始迁移数据库")
err = global.DB.Set("gorm:table_options", "ENGINE=InnoDB").AutoMigrate( err = global.DB.Set("gorm:table_options", "ENGINE=InnoDB").AutoMigrate(
//&models.ImageModel{}, &model.ScaAuthUser{},
//&models.TagModel{}, &model.ScaAuthPermission{},
//&models.MessageModel{}, &model.ScaAuthRole{},
//&models.AdvertModel{}, &model.ScaAuthRolePermission{},
//&models.UserModel{}, &model.ScaAuthUserRole{},
//&models.CommentModel{}, &model.ScaAuthUserDevice{},
//&models.ArticleModel{}, &model.ScaAuthUserSocial{},
//&models.MenuModel{},
//&models.MenuImageModel{},
//&models.FeedbackModel{},
//&models.LoginDataModel{},
) )
if err != nil { if err != nil {
global.LOG.Error("数据库迁移失败: %v", err) global.LOG.Error("数据库迁移失败: %v", err)

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
) )
// Cors 跨域中间件 // Cors 自定义跨域中间件
func Cors() gin.HandlerFunc { func Cors() gin.HandlerFunc {
return func(c *gin.Context) { return func(c *gin.Context) {
method := c.Request.Method method := c.Request.Method

20
utils/encrypt.go Normal file
View File

@@ -0,0 +1,20 @@
package utils
import "golang.org/x/crypto/bcrypt"
// Encrypt 加密
func Encrypt(val string) (string, error) {
// 使用bcrypt库的GenerateFromPassword函数进行哈希处理
hashedPassword, err := bcrypt.GenerateFromPassword([]byte(val), bcrypt.DefaultCost)
if err != nil {
return "", err
}
return string(hashedPassword), err
}
// Verify 验证
func Verify(hashedVal, val string) bool {
// 使用bcrypt库的CompareHashAndPassword函数比较密码
err := bcrypt.CompareHashAndPassword([]byte(hashedVal), []byte(val))
return err == nil
}