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());
转载于:https://www.cnblogs.com/n666/archive/2011/06/26/2190809.html
