18 lines
333 B
Go
18 lines
333 B
Go
package coresvc
|
|
|
|
import (
|
|
"crypto/sha256"
|
|
"encoding/base64"
|
|
|
|
"golang.org/x/crypto/pbkdf2"
|
|
)
|
|
|
|
var (
|
|
pswIter = 2 << 11
|
|
pswLength = 50 // raw length
|
|
)
|
|
|
|
func passwordHasher(plain string, salt []byte) string {
|
|
psw := pbkdf2.Key([]byte(plain), salt, pswIter, pswLength, sha256.New)
|
|
return base64.StdEncoding.EncodeToString(psw)
|
|
}
|