+ fields := []Field{
+ NewField(fieldUserName, []byte(a.Name)),
+ NewField(fieldUserLogin, negateString([]byte(a.Login))),
+ NewField(fieldUserAccess, *a.Access),
+ }
+
+ if bcrypt.CompareHashAndPassword([]byte(a.Password), []byte("")) != nil {
+ fields = append(fields, NewField(fieldUserPassword, []byte("x")))
+ }
+
+ fieldCount := make([]byte, 2)
+ binary.BigEndian.PutUint16(fieldCount, uint16(len(fields)))
+
+ var fieldPayload []byte
+ for _, field := range fields {
+ fieldPayload = append(fieldPayload, field.Payload()...)
+ }
+