我想加密数据库中的地址,它毫无例外地保存,但是当我在加载时解密地址时它给出了错误:
Unable to load information. Possible reason: Error in DecodeInvalid length for a Base-64 char array.
<asp:TextBox ID="txtAddress" runat="server" Width="200px" />
<ajaxToolkit:FilteredTextBoxExtender ID="ftxtAddress" runat="server" TargetControlID="txtAddress"
FilterType="Custom,Numbers, LowercaseLetters" InvalidChars="!@#$%^&*()~`*-/+|\}{[]<>?" ValidChars=",.?-_ " />
我用:
public string Decode(string sData)
{
try
{
System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding();
System.Text.Decoder utf8Decode = encoder.GetDecoder();
byte[] todecode_byte = Convert.FromBase64String(sData);
int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length);
char[] decoded_char = new char[charCount];
utf8Decode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0);
string result = new String(decoded_char);
return result;
}
catch (Exception e)
{
throw new Exception("Error in Decode" + e.Message);
}
}