mirror of
https://github.com/keven1024/015.git
synced 2026-05-26 15:13:30 +00:00
23 lines
428 B
Go
23 lines
428 B
Go
package utils
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
"pkg/utils"
|
|
|
|
"golang.org/x/crypto/argon2"
|
|
)
|
|
|
|
var (
|
|
ErrPasswordSaltNotSet = errors.New("PasswordSaltNotSet")
|
|
)
|
|
|
|
func GeneratePasswordHash(password string) (string, error) {
|
|
salt := utils.GetEnv("share.password_salt")
|
|
if salt == "" {
|
|
return "", ErrPasswordSaltNotSet
|
|
}
|
|
hash := argon2.IDKey([]byte(password), []byte(salt), 1, 64*1024, 4, 32)
|
|
return fmt.Sprintf("%x", hash), nil
|
|
}
|