/// <summary>

/// DES AES Blowfish

///  对称加密算法的优点是速度快,

///  缺点是密钥管理不方便,要求共享密钥。

/// 可逆对称加密  密钥长度8

/// </summary>

using System.Security.Cryptography;

public class DesEncrypt

{

//8位长度

private static string KEY = "ruanmou1";

private static byte[] rgbKey = ASCIIEncoding.ASCII.GetBytes(KEY.Substring(0, 8));

private static byte[] rgbIV = ASCIIEncoding.ASCII.GetBytes(KEY.Insert(0, "w").Substring(0, 8));

/// <summary>

/// DES 加密

/// </summary>

/// <param name="strValue"></param>

/// <returns></returns>

public static string Encrypt(string strValue)

{

DESCryptoServiceProvider dsp = new DESCryptoServiceProvider();

using (MemoryStream memStream = new MemoryStream())

{

CryptoStream crypStream = new CryptoStream(memStream, dsp.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);

StreamWriter sWriter = new StreamWriter(crypStream);

sWriter.Write(strValue);

sWriter.Flush();

crypStream.FlushFinalBlock();

memStream.Flush();

return Convert.ToBase64String(memStream.GetBuffer(), 0, (int)memStream.Length);

}

}

/// <summary>

/// DES解密

/// </summary>

/// <param name="EncValue"></param>

/// <returns></returns>

public static string Decrypt(string EncValue)

{

DESCryptoServiceProvider dsp = new DESCryptoServiceProvider();

byte[] buffer = Convert.FromBase64String(EncValue);

using (MemoryStream memStream = new MemoryStream())

{

CryptoStream crypStream = new CryptoStream(memStream, dsp.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);

crypStream.Write(buffer, 0, buffer.Length);

crypStream.FlushFinalBlock();

return ASCIIEncoding.UTF8.GetString(memStream.ToArray());

}

}

}

string desEn1 = DesEncrypt.Encrypt("张三李四");

string desDe1 = DesEncrypt.Decrypt(desEn1);

最新文章

  1. android 解析XML 工具类
  2. Distance Between Points
  3. 异步-学习笔记3 Task
  4. HTML+CSS结构与表现原则
  5. MyEclipse中将项目导出jar包,以及转化成EXE文件
  6. ActiveMQ讯息传送机制以及ACK机制
  7. RxSwift 系列(五) -- Filtering and Conditional Operators
  8. CentOS 7 安装MySQL 5.6遇到问题及解决方案
  9. 【if...else】三角形判断
  10. 分布式session解决——Spring-data-redis
  11. foreach控制循环if判断
  12. centos7下安装docker(26如何配置Health Check)
  13. 如何使用 Visual C# .NET 处理 Excel 事件
  14. 【转】Emgu 图像阈值
  15. nginx: [error] invalid PID number &quot;&quot; in &quot;/var/run/nginx/nginx.pid&quot;
  16. iOS - keychain 详解及变化
  17. 投稿007期|令人震惊到发指的PyObject对象代码设计之美
  18. 原创:微信小程序调用PHP后台接口,解析纯html文本
  19. mysql pdo事务
  20. loadrunner--vugen录制脚本提示“无Internet访问。您可能无法录制并执行业务进程”

热门文章

  1. 为何Keras中的CNN是有问题的,如何修复它们?
  2. Google AI推出新的大规模目标检测挑战赛
  3. 十分钟一起学会Inception网络
  4. js 图片轮播简单版
  5. Flutter 不可错过的学习资源
  6. 你还不知道Vue的生命周期吗?带你从Vue源码了解Vue2.x的生命周期(初始化阶段)
  7. Java 为 Excel 中的行设置交替背景色
  8. Sqli-labs Less-58 报错注入 5次机会
  9. 1040 Longest Symmetric String (25分)(dp)
  10. CAS单点登录系列之极速入门于实战教程(4.2.7)