Base-64阵列的长度无效

时间:2019-04-27 07:20:32

标签: c#

我有几行出现错误的代码

  

Base-64阵列的长度无效

此代码是为登录页面编写的:

int user = 0;

UserDT = UserAdapter.Select();

for (int i = 0; i < UserDT.Rows.Count; i++)
{
    byte[] bb = Convert.FromBase64String(UserDT.Rows[i]["Password"].ToString());
    string getpass = System.Text.ASCIIEncoding.ASCII.GetString(bb);

    if (txtusername.Text == UserDT.Rows[i]["UserName"].ToString() && txtpassword.Text == getpass.ToString())
    {
        userid =Convert.ToInt32(UserDT.Rows[i]["ID"].ToString());
        uname = UserDT.Rows[i]["UserName"].ToString();
        user = 1;
    }
}

1 个答案:

答案 0 :(得分:0)

由于您没有提供导致错误的值,

因此请检查方法FromBase64String的{​​{3}}

关于length的事情:

  

FormatException

     

s的长度(忽略空格字符)不是零或4的倍数。

因此只需检查FromBase64String的参数长度即可。