我在IF(){...}中遇到了"Invalid length for a Base-64 char array."的错误提示,这是我尝试让它正常工作的变化。第一行就失败了,没有调用decrypt(...)函数,证明不是那个函数的问题。第一个decrypt(...)调用也会出现同样的错误。最后一个使用encoding.ascii...的调用可以让我进入函数,但在函数内部仍然失败。从数据库中获取的加密信息被转换为字符串SSnum,其值为:4+mFeTp3tPF。
try
{
string SSnum = dr.GetString(dr.GetOrdinal("Social Security"));
if (isEncrypted)
{
byte[] temp = Convert.FromBase64String(SSnum);
//SSnum = decrypt(Convert.FromBase64String(SSnum), Key, IV);
//SSnum = decrypt(Encoding.ASCII.GetBytes(SSnum), Key, IV);
}
txt_Social_Security.Text = SSnum;
}
catch { txt_Social_Security.Text = ""; }
有人告诉我要使用Convert.FromBase64String()方法而不是ASCII方法...那么为什么它会失败,我该如何修复它?