加密和解密
来源:互联网 发布:怎样成为程序员 编辑:程序博客网 时间:2024/06/05 05:15
方法一:
public class DESC { const string KEY_64 = "VavicApp";//注意了,是8个字符,64位 const string IV_64 = "VavicApp"; public static string Encode(string data) { byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64); byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64); DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider(); int i = cryptoProvider.KeySize; MemoryStream ms = new MemoryStream(); CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(byKey,byIV), CryptoStreamMode.Write); StreamWriter sw = new StreamWriter(cst); sw.Write(data); sw.Flush(); cst.FlushFinalBlock(); sw.Flush(); return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length); } public static string Decode(string data) { byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64); byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64); byte[] byEnc; try { byEnc = Convert.FromBase64String(data); } catch { return null; } DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider(); MemoryStream ms = new MemoryStream(byEnc); CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateDecryptor(byKey,byIV), CryptoStreamMode.Read); StreamReader sr = new StreamReader(cst); return sr.ReadToEnd(); } }
方法二:
public class DESC { const string KEY_64 = "VavicApp";//注意了,是8个字符,64位 const string IV_64 = "VavicApp"; public static string Encode(string data) { byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64); byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64); DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider(); int i = cryptoProvider.KeySize; MemoryStream ms = new MemoryStream(); CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(byKey,byIV), CryptoStreamMode.Write); StreamWriter sw = new StreamWriter(cst); sw.Write(data); sw.Flush(); cst.FlushFinalBlock(); sw.Flush(); return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length); } public static string Decode(string data) { byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64); byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64); byte[] byEnc; try { byEnc = Convert.FromBase64String(data); } catch { return null; } DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider(); MemoryStream ms = new MemoryStream(byEnc); CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateDecryptor(byKey,byIV), CryptoStreamMode.Read); StreamReader sr = new StreamReader(cst); return sr.ReadToEnd(); } }
- 数据加密和解密
- XML加密和解密
- Base64加密和解密
- 加密和解密算法
- 加密和解密
- Java加密和解密
- java 加密和解密
- 加密和解密
- EFS加密和解密
- AES加密和解密
- 加密和解密
- 加密和解密
- 加密和解密字符串。
- MySQL加密和解密
- 数据加密和解密
- 加密和解密
- C#加密和解密
- Java加密和解密
- 《sort命令的k选项大讨论》-linux命令五分钟系列之二十七
- Oracle归档日志删除
- Java 计算两个日期之间相差的月数
- 点播和单播有什么区别,组播和广播呢?
- 【转载】伤人最深的不是爱情,是回忆
- 加密和解密
- ee
- linux下配置环境变量
- Oracle中Job的使用
- c++中数组类型和长度的简单认识
- 在solaris上用pkgadd安装软件时,如何指定安装目录
- 关于utf-8 bom编码文件的一个例子
- 如何向android的framework里添加新类
- C++的console使用windows的消息机制,定时器等