trepa/internal/core/hash.go

29 lines
526 B
Go

package core
import (
"github.com/matthewhartstonge/argon2"
)
func HashPassword(password string) (string, error) {
argon := instanceArgon2()
hash, err := argon.HashEncoded([]byte(password))
if err != nil {
return "", err
}
return string(hash), nil
}
func ComparePassword(password string, hash string) (bool, error) {
ok, err := argon2.VerifyEncoded([]byte(password), []byte(hash))
if err != nil {
return false, err
}
return ok, nil
}
func instanceArgon2() argon2.Config {
return argon2.DefaultConfig()
}