package utils import ( "crypto/md5" "encoding/hex" "github.com/kataras/golog" "golang.org/x/crypto/bcrypt" ) // Md5 returns the MD5 checksum string of the data. func Md5(b []byte) string { checksum := md5.Sum(b) return hex.EncodeToString(checksum[:]) } //加密 func Encrypt(password string) string { if password == "" { return "" } if hash, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost); err != nil { return "" } else { password = string(hash) return password } } func CompareHashAndPassword(e string, p string) (bool, error) { err := bcrypt.CompareHashAndPassword([]byte(e), []byte(p)) if err != nil { golog.Println(err.Error()) return false, err } return true, nil }