Edittext.文本显示正确的值,但使用错误的值
本文关键字:错误 文本 Edittext 显示 | 更新日期: 2023-09-27 18:07:18
我已经在谷歌和论坛搜索,但没有发现任何关于我的奇怪问题。抱歉我的英语不好:)
这真的很奇怪,很难,所以我想尽可能简单地描述一下
-
用户在edittext (type: textPassword)中的输入:1 ->已登录->已工作
var loginResult = await connection.LoginAsync(this.Username. async)。文本,this.Password。文本,WebLoginType.User);
-
密码加密在"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};
-
现在注销密码在"1"中再次解密,但在布局中,我可以看到它在edittext中有多个字符。this.Edittext.Text = "1"
this.Password.SetText (Encrypter.Decrypt (setting.LastLoginPassword) TextView.BufferType.Normal);
-
如果我再次登录,我可以看到this.Edittext.Text为"1",但WebService说这是错误的密码
现在,如果我删除edittext中的字符并手动写入"1",它就可以工作了。发生了什么魔法?
已解决的问题:加密器用'u0000填充其余字节,直到它得到16字节的大小。我必须用
删除这个return Encoding.UTF8.GetString(result, 0, result.Length).TrimEnd(''u0000');