package core

import (
	"github.com/matthewhartstonge/argon2"
)

func HashPassword(password string) (string, error) {
	argon := instanceArgon2()

	hash, err := argon.HashEncoded([]byte(password))
	if err != nil {
		return "", err
	}

	return string(hash), nil
}

func ComparePassword(password string, hash string) (bool, error) {
	ok, err := argon2.VerifyEncoded([]byte(password), []byte(hash))
	if err != nil {
		return false, err
	}

	return ok, nil
}

func instanceArgon2() argon2.Config {
	return argon2.DefaultConfig()
}