加解密:
[C#] 纯文本查看 复制代码 private System.Text.Encoding encoding;
/**/
///
/// 获取密匙
///
public string Key
{
get
{
return "test3321";
}
}
/**/
///
/// 获取或设置加密解密的编码
///
public System.Text.Encoding Encoding
{
get
{
if (encoding == null)
{
encoding = System.Text.Encoding.UTF8;
}
return encoding;
}
set
{
encoding = value;
}
}
/**/
///
/// 加密
///
///
///
///
///
public string Encrypt3DES(string strString)
{
DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
DES.Key = Encoding.GetBytes(this.Key);
DES.Mode = CipherMode.ECB;
DES.Padding = PaddingMode.Zeros;
ICryptoTransform DESEncrypt = DES.CreateEncryptor();
byte[] Buffer = encoding.GetBytes(strString);
return Convert.ToBase64String(DESEncrypt.TransformFinalBlock(Buffer, 0, Buffer.Length));
}
/**/
///
/// 解密
///
///
///
///
public string Decrypt3DES(string strString)
{
DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
DES.Key = Encoding.UTF8.GetBytes(this.Key); //这里报异常 异常信息为:其他信息: 指定键的大小对于此算法无效。
DES.Mode = CipherMode.ECB;
DES.Padding = PaddingMode.Zeros;
ICryptoTransform DESDecrypt = DES.CreateDecryptor();
byte[] Buffer = Convert.FromBase64String(strString);
return UTF8Encoding.UTF8.GetString(DESDecrypt.TransformFinalBlock(Buffer, 0, Buffer.Length));
}
//调用:
string jiemi = Decrypt3DES("cXPYWwRGo1sKQL67hKzpRg==");
//报错异常:
其他信息: 指定键的大小对于此算法无效。
初学C# 函数都是从网上找来的 但是不能用 这个异常要怎么解决呢 造成这个异常的原因是什么啊。
|