import (
"encoding/binary"
"golang.org/x/crypto/bcrypt"
+ "log"
)
const GuestAccount = "guest" // default account used when no login is provided for a connection
return len(p), nil
}
+
+// hashAndSalt generates a password hash from a users obfuscated plaintext password
+func hashAndSalt(pwd []byte) string {
+ hash, err := bcrypt.GenerateFromPassword(pwd, bcrypt.MinCost)
+ if err != nil {
+ log.Println(err)
+ }
+
+ return string(hash)
+}
import (
"encoding/binary"
- "golang.org/x/crypto/bcrypt"
- "log"
)
// User flags are stored as a 2 byte bitmap with the following values:
}
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)
-}