Edittext.文本显示正确的值,但使用错误的值

本文关键字:错误 文本 Edittext 显示 | 更新日期: 2023-09-27 18:07:18

我已经在谷歌和论坛搜索,但没有发现任何关于我的奇怪问题。抱歉我的英语不好:)

这真的很奇怪,很难,所以我想尽可能简单地描述一下

  1. 用户在edittext (type: textPassword)中的输入:1 ->已登录->已工作

    var loginResult = await connection.LoginAsync(this.Username. async)。文本,this.Password。文本,WebLoginType.User);

  2. 密码加密在"2FYM9iWHHecf45vPjjZPfg=="

    var newLogin = new LoginData{用户名= this.Username.Text,Password = Encrypter.Encrypt(this.Password.Text),WebServiceAddress = this.WebServiceAddress.Text;IsOnline = true,IsActive = true,License = this._license};

  3. 现在注销密码在"1"中再次解密,但在布局中,我可以看到它在edittext中有多个字符。this.Edittext.Text = "1"

    this.Password.SetText (Encrypter.Decrypt (setting.LastLoginPassword) TextView.BufferType.Normal);

  4. 如果我再次登录,我可以看到this.Edittext.Text为"1",但WebService说这是错误的密码

现在,如果我删除edittext中的字符并手动写入"1",它就可以工作了。发生了什么魔法?

Edittext.文本显示正确的值,但使用错误的值

已解决的问题:加密器用'u0000填充其余字节,直到它得到16字节的大小。我必须用

删除这个
return Encoding.UTF8.GetString(result, 0, result.Length).TrimEnd(''u0000');