tfstated/pkg/helpers/crypto.go
Julien Dessaux 3bb5e735c6
All checks were successful
main / main (push) Successful in 3m13s
main / deploy (push) Has been skipped
main / publish (push) Has been skipped
chore(webui): rewrite all the web session code
#60
2025-04-29 01:25:11 +02:00

26 lines
570 B
Go

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)
}