ikurotime / gitgud

public
Add bcrypt password hasher
DDavid committed on 2026-06-28 00:45 commit 0463a96
internal/infra/security/bcrypt_hasher.go +17 −0
+package security
+
+import "golang.org/x/crypto/bcrypt"
+
+type BcryptHasher struct{ cost int }
+
+func NewBcryptHasher() BcryptHasher {
+ return BcryptHasher{cost: bcrypt.DefaultCost}
+}
+
+func (h BcryptHasher) Hash(plain string) (string, error) {
+ b, err := bcrypt.GenerateFromPassword([]byte(plain), h.cost)
+ return string(b), err
+}
+func (h BcryptHasher) Compare(hash, plain string) error {
+ return bcrypt.CompareHashAndPassword([]byte(hash), []byte(plain))
+}