+ fieldBytes = append(fieldBytes, field.Payload()...)
+ }
+
+ return copy(p, slices.Concat(fieldCount, fieldBytes)), io.EOF
+}
+
+// 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)