33 lines
564 B
Go
33 lines
564 B
Go
package utils
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"golang.org/x/crypto/bcrypt"
|
|
)
|
|
|
|
const salt = "58_team:%s:1205secret"
|
|
|
|
func EncryptPassword(pass string) (string, error) {
|
|
var salted string
|
|
|
|
salted = fmt.Sprintf(salt, pass)
|
|
|
|
hashed, err := bcrypt.GenerateFromPassword([]byte(salted), 12)
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
return string(hashed), nil
|
|
}
|
|
|
|
func CheckPassword(pass_hashed string, pass string) bool {
|
|
salted := fmt.Sprintf(salt, pass)
|
|
err := bcrypt.CompareHashAndPassword([]byte(pass_hashed), []byte(salted))
|
|
|
|
if err != nil {
|
|
return false
|
|
}
|
|
|
|
return true
|
|
}
|