diff options
author | Julien Dessaux | 2024-11-17 00:05:22 +0100 |
---|---|---|
committer | Julien Dessaux | 2024-11-17 00:05:22 +0100 |
commit | 206182fcb9c4ab2b49e8e44c6a2711a988e3f968 (patch) | |
tree | 5cfc55047d833400028fb69a7f069f5cedecaacd /pkg/model | |
parent | fix(tfstated): hash passwords instead of relying on the database encryption key (diff) | |
download | tfstated-206182fcb9c4ab2b49e8e44c6a2711a988e3f968.tar.gz tfstated-206182fcb9c4ab2b49e8e44c6a2711a988e3f968.tar.bz2 tfstated-206182fcb9c4ab2b49e8e44c6a2711a988e3f968.zip |
chore(tfstated): refactored helpers to their own package
Diffstat (limited to 'pkg/model')
-rw-r--r-- | pkg/model/account.go | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/pkg/model/account.go b/pkg/model/account.go index 4336dfa..7a69685 100644 --- a/pkg/model/account.go +++ b/pkg/model/account.go @@ -1,17 +1,10 @@ package model import ( - "crypto/sha256" "crypto/subtle" "time" - "git.adyxax.org/adyxax/tfstated/pkg/scrypto" - "golang.org/x/crypto/pbkdf2" -) - -const ( - PBKDF2Iterations = 600000 - SaltSize = 32 + "git.adyxax.org/adyxax/tfstated/pkg/helpers" ) type AccountContextKey struct{} @@ -28,14 +21,6 @@ type Account struct { } func (account *Account) CheckPassword(password string) bool { - hash := HashPassword(password, account.Salt) + hash := helpers.HashPassword(password, account.Salt) return subtle.ConstantTimeCompare(hash, account.PasswordHash) == 1 } - -func GenerateSalt() []byte { - return scrypto.RandomBytes(SaltSize) -} - -func HashPassword(password string, salt []byte) []byte { - return pbkdf2.Key([]byte(password), salt, PBKDF2Iterations, 32, sha256.New) -} |