====一个简单的加密程序,但是调用时提示“不正确的数据”错误,请高手看一下====
alj 2003-09-12 11:42:01 函数如下:
/// <summary>
/// 加密字符串
/// </summary>
/// <param name="userData">用户数据</param>
/// <param name="key">密钥</param>
/// <param name="iv">偏移量</param>
/// <returns></returns>
public static string Encrypt(string userData,byte[] key,byte[] iv)
{
byte[] uData=Encoding.Unicode.GetBytes(userData);
DESCryptoServiceProvider desc=new DESCryptoServiceProvider();
ICryptoTransform entrans=desc.CreateDecryptor(key,iv);
byte[] en = entrans.TransformFinalBlock(uData, 0, uData.Length);
string res = Encoding.Unicode.GetString(en);
return res;
}
调用如下:
private void Button1_Click(object sender, System.EventArgs e)
{
byte[] key={43, 136, 76, 107, 172, 255, 227, 114};
byte[] iv={102, 117, 69, 24, 131, 225, 93, 170};
TextBox2.Text=Security.Encrypt(TextBox1.Text.Trim(),key,iv);
}
结果就提示如下错误:
不正确的数据。
行 30: DESCryptoServiceProvider desc=new DESCryptoServiceProvider();
行 31: ICryptoTransform entrans=desc.CreateDecryptor(key,iv);
行 32: byte[] en = entrans.TransformFinalBlock(uData, 0, uData.Length);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^出错
行 33: string res = Encoding.Unicode.GetString(en);
行 34: return res;
怎么回事??