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

View File

@@ -5,7 +5,7 @@ import (
"net/http"
)
// Cors 跨域中间件
// Cors 自定义跨域中间件
func Cors() gin.HandlerFunc {
return func(c *gin.Context) {
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
}