文件加解密

加密:
static String Encrypt(String pwd) {
DESCryptoServiceProvider desc = new DESCryptoServiceProvider();//des進行加密
PasswordDeriveBytes db = new PasswordDeriveBytes(pwd, null);//產生key
byte[] key = db.GetBytes(8);
MemoryStream ms = new MemoryStream();//存儲加密後的數據
CryptoStream cs = new CryptoStream(ms,desc.CreateEncryptor(key, key),CryptoStreamMode.Write);
byte[] data = Encoding.Unicode.GetBytes(pwd);//取到密碼的字節流
cs.Write(data, 0, data.Length);//進行加密
cs.FlushFinalBlock();
byte[] res = ms.ToArray();//取加密後的數據
return Encoding.Unicode.GetString(res);//轉換到字符串返回
}
解密:
static String Decrypt(String pwd, String data) {
DESCryptoServiceProvider desc = new DESCryptoServiceProvider();
PasswordDeriveBytes db = new PasswordDeriveBytes(pwd, null);//產生key
byte[] key = db.GetBytes(8);
MemoryStream ms = new MemoryStream();//存儲解密後的數據
CryptoStream cs = new CryptoStream(ms,desc.CreateDecryptor(key, key),CryptoStreamMode.Write);
byte[] databytes = Encoding.Unicode.GetBytes(data);//取到加密後的數據的字節流
cs.Write(databytes, 0, databytes.Length);//解密數據
cs.FlushFinalBlock();
byte[] res = ms.ToArray();
return Encoding.Unicode.GetString(res);//返回解密後的數據
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章