package helpers import ( "crypto/sha256" "git.adyxax.org/adyxax/tfstated/pkg/scrypto" "golang.org/x/crypto/pbkdf2" ) const ( PBKDF2PasswordIterations = 600000 PBKDF2SessionIterations = 12 SaltSize = 32 ) func GenerateSalt() []byte { return scrypto.RandomBytes(SaltSize) } func HashPassword(password string, salt []byte) []byte { return pbkdf2.Key([]byte(password), salt, PBKDF2PasswordIterations, 32, sha256.New) } func HashSessionId(id []byte, salt []byte) []byte { return pbkdf2.Key(id, salt, PBKDF2SessionIterations, 32, sha256.New) }