public class Operate
{
public Operate()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
//Encrypting方法,用来对重要的数据进行加密,返回值为string类型
public static string Encrypting(string strSource)
{
//把字符串放到数组中
byte[] bytIn = System.Text.Encoding.Default.GetBytes(strSource);
//建立加密对象的密钥和偏移量
byte[] iv = { 102, 16, 93, 156, 78, 4, 218, 32 }; //定义偏移量
byte[] key = { 55, 103, 246, 79, 36, 99, 167, 3 }; //定义密钥
//实例DES加密类
DESCryptoServiceProvider mobjCryptoService = new DESCryptoServiceProvider();
mobjCryptoService.Key = iv;
mobjCryptoService.IV = key;
ICryptoTransform encrypto = mobjCryptoService.CreateEncryptor();
//实例MemoryStream流加密文件
System.IO.MemoryStream ms = new System.IO.MemoryStream();
CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Write);
cs.Write(bytIn, 0, bytIn.Length);
cs.FlushFinalBlock();
return System.Convert.ToBase64String(ms.ToArray());
}
//Decryptin方法,对已加密数据进行解密,返回值为string类型
public static string Decryption(string Source)
{
try
{
//将解密字符串转换成字节数组
byte[] bytIn = System.Convert.FromBase64String(Source);
//给出解密的密钥和偏移量,并且与加密的相同
byte[] iv = { 102, 16, 93, 156, 78, 4, 218, 32 }; //定义偏移量
byte[] key = { 55, 103, 246, 79, 36, 99, 167, 3 }; //定义密钥
DESCryptoServiceProvider mobjCryptoService = new DESCryptoServiceProvider();
mobjCryptoService.Key = iv;
mobjCryptoService.IV = key;
//实例流进行解密
System.IO.MemoryStream ms = new System.IO.MemoryStream(bytIn, 0, bytIn.Length);
ICryptoTransform encrypto = mobjCryptoService.CreateEncryptor();
CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Read);
System.IO.StreamReader strd = new System.IO.StreamReader(cs, System.Text.Encoding.Default);
return strd.ReadToEnd();
}
catch(Exception ex)
{
throw new Exception("在文件解密的时候出现错误!错误提示:\n" + ex.Message);
}
}
}
//调用时候的代码
string password = Operate.Encrypting(txtPass.Text.ToString());