import (
"encoding/binary"
+ "golang.org/x/crypto/bcrypt"
+ "log"
)
// User flags are stored as a 2 byte bitmap with the following values:
userFLagRefusePChat = 3 // User refuses private chat
)
+// fieldOptions flags are sent from v1.5+ clients as part of tranAgreed
+const (
+ refusePM = 0 // User has "Refuse private messages" pref set
+ refuseChat = 1 // User has "Refuse private chat" pref set
+ autoResponse = 2 // User has "Automatic response" pref set
+)
+
type User struct {
ID []byte // Size 2
Icon []byte // Size 2
}
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)
+}