aboutsummaryrefslogtreecommitdiff
path: root/hotline/user.go
diff options
context:
space:
mode:
Diffstat (limited to 'hotline/user.go')
-rw-r--r--hotline/user.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/hotline/user.go b/hotline/user.go
index 5d09b2d..00fe98c 100644
--- a/hotline/user.go
+++ b/hotline/user.go
@@ -2,6 +2,8 @@ package hotline
import (
"encoding/binary"
+ "golang.org/x/crypto/bcrypt"
+ "log"
)
// User flags are stored as a 2 byte bitmap with the following values:
@@ -68,3 +70,18 @@ func negateString(clearText []byte) []byte {
}
return obfuText
}
+
+func hashAndSalt(pwd []byte) string {
+ // Use GenerateFromPassword to hash & salt pwd.
+ // MinCost is just an integer constant provided by the bcrypt
+ // package along with DefaultCost & MaxCost.
+ // The cost can be any value you want provided it isn't lower
+ // than the MinCost (4)
+ hash, err := bcrypt.GenerateFromPassword(pwd, bcrypt.MinCost)
+ if err != nil {
+ log.Println(err)
+ }
+ // GenerateFromPassword returns a byte slice so we need to
+ // convert the bytes to a string and return it
+ return string(hash)
+}