| 12345678910111213141516171819202122232425262728293031 |
- package common
- import (
- "crypto/hmac"
- "crypto/sha256"
- "encoding/hex"
- "golang.org/x/crypto/bcrypt"
- )
- func GenerateHMACWithKey(key []byte, data string) string {
- h := hmac.New(sha256.New, key)
- h.Write([]byte(data))
- return hex.EncodeToString(h.Sum(nil))
- }
- func GenerateHMAC(data string) string {
- h := hmac.New(sha256.New, []byte(CryptoSecret))
- h.Write([]byte(data))
- return hex.EncodeToString(h.Sum(nil))
- }
- func Password2Hash(password string) (string, error) {
- passwordBytes := []byte(password)
- hashedPassword, err := bcrypt.GenerateFromPassword(passwordBytes, bcrypt.DefaultCost)
- return string(hashedPassword), err
- }
- func ValidatePasswordAndHash(password string, hash string) bool {
- err := bcrypt.CompareHashAndPassword([]byte(hash), []byte(password))
- return err == nil
- }
|