diff --git a/internal/util/hash.go b/internal/util/hash.go new file mode 100644 index 0000000..3ac20f4 --- /dev/null +++ b/internal/util/hash.go @@ -0,0 +1,15 @@ +package util + +import "golang.org/x/crypto/bcrypt" + +// HashPassword generates a bcrypt hash for the given password. +func HashPassword(password string) (string, error) { + bytes, err := bcrypt.GenerateFromPassword([]byte(password), 14) + return string(bytes), err +} + +// VerifyPassword verifies if the given password matches the stored hash. +func VerifyPassword(password, hash string) bool { + err := bcrypt.CompareHashAndPassword([]byte(hash), []byte(password)) + return err == nil +}