/// <summary>
/// DES加密/解密类。
/// </summary>
public class DESEncrypt
{
public DESEncrypt()
{
} #region ========加密======== /// <summary>
/// 加密
/// </summary>
/// <param name="Text"></param>
/// <returns></returns>
public static string Encrypt(string Text)
{
return Encrypt(Text,"MATICSOFT");
}
/// <summary>
/// 加密数据
/// </summary>
/// <param name="Text"></param>
/// <param name="sKey"></param>
/// <returns></returns>
public static string Encrypt(string Text,string sKey)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] inputByteArray;
inputByteArray=Encoding.Default.GetBytes(Text);
des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(, ));
des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(, ));
System.IO.MemoryStream ms=new System.IO.MemoryStream();
CryptoStream cs=new CryptoStream(ms,des.CreateEncryptor(),CryptoStreamMode.Write);
cs.Write(inputByteArray,,inputByteArray.Length);
cs.FlushFinalBlock();
StringBuilder ret=new StringBuilder();
foreach( byte b in ms.ToArray())
{
ret.AppendFormat("{0:X2}",b);
}
return ret.ToString();
} #endregion #region ========解密======== /// <summary>
/// 解密
/// </summary>
/// <param name="Text"></param>
/// <returns></returns>
public static string Decrypt(string Text)
{
return Decrypt(Text,"MATICSOFT");
}
/// <summary>
/// 解密数据
/// </summary>
/// <param name="Text"></param>
/// <param name="sKey"></param>
/// <returns></returns>
public static string Decrypt(string Text,string sKey)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
int len;
len=Text.Length/;
byte[] inputByteArray = new byte[len];
int x,i;
for(x=;x<len;x++)
{
i = Convert.ToInt32(Text.Substring(x * , ), );
inputByteArray[x]=(byte)i;
}
des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(, ));
des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(, ));
System.IO.MemoryStream ms=new System.IO.MemoryStream();
CryptoStream cs=new CryptoStream(ms,des.CreateDecryptor(),CryptoStreamMode.Write);
cs.Write(inputByteArray,,inputByteArray.Length);
cs.FlushFinalBlock();
return Encoding.Default.GetString(ms.ToArray());
} #endregion }

最新文章

  1. 【HDU2222】Keywords Search AC自动机
  2. SQL DELETE 语句
  3. !important
  4. MongoDB的学习和使用
  5. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(十一) 代码重构使用反射工厂解耦
  6. epoll函数与参数总结学习 &amp; errno的线程安全
  7. L2-015. 互评成绩
  8. Nginx 老是抢先捕获了404 我想这个404我Yii项目来处理 要怎么配置?
  9. Linux系统目录/bin /sbin /usr/bin /usr/sbin和/lib /usrlib的一些分析
  10. 在OSchina上看到的清理到缓存的方法
  11. (十) Jquery的基本使用
  12. H5前端框架推荐合集
  13. phpcms页面替换
  14. Vue源码后记-更多options参数(2)
  15. 关于SQL性能优化的十条经验
  16. Python盗号原理-代码实现截屏键盘记录远程发送(不要做坏事)
  17. sql server递归
  18. C#常见委托のdelegate定义,Func,Action,Predicate总结
  19. A - I Think I Need a Houseboat HDU - 1065(水题)
  20. 免费的剪贴板工具Ditto安装与使用

热门文章

  1. 菜鸟系列k8s——k8s集群部署(2)
  2. Mysql workbench 字段类型(转载)
  3. Mysql8.0安装与配置
  4. 提升scrapy的爬取效率
  5. 分布式的几件小事(二)dubbo的工作原理
  6. mysql中case when then end的含义和用法
  7. Windows7/win10系统安装JDK的环境变量设置javac不是内部命令或外部命令
  8. ArcGis之popup列表字段自定义
  9. 在 React 组件中使用 Refs 指南
  10. 查询SAP数据库表的大小