1 public class Des
2 {
3 public static string Encrypt(string message, string key)
4 {
5 DES des = new DESCryptoServiceProvider();
6 des.Key = Encoding.UTF8.GetBytes(key);
7 des.IV = Encoding.UTF8.GetBytes(key);
8 //des.Mode = CipherMode.ECB;
9
10 byte[] inputByteArray = Encoding.UTF8.GetBytes(message);
11
12 System.IO.MemoryStream ms = new System.IO.MemoryStream();
13 CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
14 cs.Write(inputByteArray, 0, inputByteArray.Length);
15 cs.FlushFinalBlock();
16 ms.Close();
17 StringBuilder ret = new StringBuilder();
18 foreach (byte b in ms.ToArray())
19 {
20 ret.AppendFormat("{0:X2}", b);
21 }
22 return ret.ToString();
23
24 }
25
26 //DES解密
27 public static string Decrypt(string content, string key)
28 {
29 try
30 {
31 DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
32 // 密钥
33 provider.Key = Encoding.UTF8.GetBytes(key);
34 // 偏移量
35 provider.IV = Encoding.UTF8.GetBytes(key);
36 byte[] buffer = new byte[content.Length / 2];
37 for (int i = 0; i < (content.Length / 2); i++)
38 {
39 int num2 = Convert.ToInt32(content.Substring(i * 2, 2), 0x10);
40 buffer[i] = (byte)num2;
41 }
42 using(MemoryStream stream = new MemoryStream())
43 {
44 CryptoStream stream2 = new CryptoStream(stream, provider.CreateDecryptor(), CryptoStreamMode.Write);
45 stream2.Write(buffer, 0, buffer.Length);
46 stream2.FlushFinalBlock();
47 stream.Close();
48 return Encoding.UTF8.GetString(stream.ToArray());
49 }
50 }
51 catch (Exception) { return ""; }
52 }
53 }

最新文章

  1. sql 取新的列名含义
  2. Eclipse下无法自动编译,或者WEB-INF/classes目录下没文件,编译失败的解决办法(转载)
  3. Elasticsearch之client源码简要分析
  4. rtpMIDI Tutorial
  5. ES6新特性:Function函数扩展, 扩展到看不懂
  6. mysql 变量
  7. Java 集合系列 01 总体框架
  8. HDU 2836 Traversal 简单DP + 树状数组
  9. 转载ASP.NET 状态管理Application,Session,Cookie和ViewState用法
  10. DataReader反射泛型对象
  11. CDC不同模式在ODI体现系列之二 异步模式
  12. CLLocation
  13. javascript中apply和eval结合的强大用法
  14. Beginning Python From Novice to Professional (7) - 类别
  15. oracle-使用数据泵对不同用户和不同表空间的数据迁移
  16. HFun.快速开发平台(二)=》自定义列表实例
  17. 谁记录了mysql error log中的超长信息
  18. 两个inline-block元素上下不对齐,出现错位
  19. 导航+左侧菜单+tab切换模板
  20. Nginx(一)安装及启停

热门文章

  1. 使用Eclipse的基本配置
  2. HDFS基本命令
  3. python matplotlib.pyplot 散点图详解(1)
  4. STM32,下载HAL库写的代码后J-Link识别不到芯片,必须要按住复位才能下载?
  5. IDEA 集成 Docker 插件实现一键远程部署 SpringBoot 应用,无需三方依赖,开源微服务全栈项目有来商城云环境的部署方式
  6. Android View post 方法
  7. 【PHP数据结构】图的概念和存储结构
  8. PHP中操作数据库的预处理语句
  9. Git报错-refusing to merge unrelated histories
  10. SAP Shared Object 01 (共享对象)