pcmt/modules/password/password.go
leo c6896bdee2
All checks were successful
continuous-integration/drone/push Build is passing
modules/password: simplify return
2023-04-19 03:51:42 +02:00

22 lines
536 B
Go

package password
import "golang.org/x/crypto/bcrypt"
func GetHash(password string) ([]byte, error) {
// NOTE: bcrypt will not operate on passwords longer than 72 characters.
hash, err := bcrypt.GenerateFromPassword(
[]byte(password), bcrypt.DefaultCost,
)
if err != nil {
return nil, err
}
return hash, nil
}
func Compare(oldHash []byte, password string) bool {
// NOTE: bcrypt will not operate on passwords longer than 72 characters.
err := bcrypt.CompareHashAndPassword(oldHash, []byte(password))
return err == nil
}