package infra

import "golang.org/x/crypto/bcrypt"

// PasswordHash hashea un password con bcrypt.
// cost controla el trabajo computacional (4 = minimo, 14 = muy lento). Valor 0 usa default 12.
func PasswordHash(password string, cost int) (string, error) {
	if cost <= 0 {
		cost = 12
	}
	b, err := bcrypt.GenerateFromPassword([]byte(password), cost)
	if err != nil {
		return "", err
	}
	return string(b), nil
}
