package crypto import ( "apocapoc-api/internal/domain/services" "golang.org/x/crypto/bcrypt" ) type BcryptHasher struct{} func NewBcryptHasher() services.PasswordHasher { return &BcryptHasher{} } func (b *BcryptHasher) Hash(password string) (string, error) { hashedBytes, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost) if err != nil { return "", err } return string(hashedBytes), nil } func (b *BcryptHasher) Compare(hashedPassword, password string) error { return bcrypt.CompareHashAndPassword([]byte(hashedPassword), []byte(password)) }