苏飞论坛

标题: DESEncrypt--加密/解密帮助类 [打印本页]

作者: 站长苏飞    时间: 2012-12-10 20:28
标题: DESEncrypt--加密/解密帮助类
                     DESEncrypt--加密/解密帮助类
导读部分
-------------------------------------------------------------------------------------------------------------
C#基类库苏飞版--系列教程导航 http://www.sufeinet.com/thread-655-1-1.html

下载之前你首先要注册成为会员哦,注册之后就可以直接下载啦
更新时间:2012-12-06
最新的DESEncrypt类下载:
(, 下载次数: 343)
这个类是关于加密,解密的操作,文件的一些高级操作
1.DESEncrypt加密
2.DESEncrypt解密
看下面代码吧
[C#] 纯文本查看 复制代码
/// <summary>
/// 类说明:Assistant
/// 编 码 人:苏飞
/// 联系方式:361983679  
/// 更新网站:http://www.sufeinet.com/thread-655-1-1.html
/// </summary>
using System;
using System.Security.Cryptography;  
using System.Text;
namespace DotNet.Utilities
{
  /// <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(0, 8));
      des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
      System.IO.MemoryStream ms=new System.IO.MemoryStream();
      CryptoStream cs=new CryptoStream(ms,des.CreateEncryptor(),CryptoStreamMode.Write);
      cs.Write(inputByteArray,0,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/2;
      byte[] inputByteArray = new byte[len];
      int x,i;
      for(x=0;x<len;x++)
      {
        i = Convert.ToInt32(Text.Substring(x * 2, 2), 16);
        inputByteArray[x]=(byte)i;
      }
      des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
      des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
      System.IO.MemoryStream ms=new System.IO.MemoryStream();
      CryptoStream cs=new CryptoStream(ms,des.CreateDecryptor(),CryptoStreamMode.Write);
      cs.Write(inputByteArray,0,inputByteArray.Length);
      cs.FlushFinalBlock();
      return Encoding.Default.GetString(ms.ToArray());
    }

    #endregion


  }
}

使用方法也很简单直接调用方法就行了如下
[C#] 纯文本查看 复制代码
  DESEncrypt.Encrypt("要加密的字符串");
            DESEncrypt.Decrypt("要解密的字符串");



作者: gaide168    时间: 2014-7-16 19:06
命名空间“System.Web”中不存在类型或命名空间名称“Security”。是否缺少程序集引用?
我都引用了的
作者: 站长苏飞    时间: 2014-7-16 19:24
添加引用不是导入命名空间
作者: milk_ye    时间: 2014-9-25 15:32
我只是路过打酱油的。
作者: aniuge    时间: 2015-10-29 00:05
强烈支持楼主ing……
作者: aniuge    时间: 2015-10-29 00:07
我只是路过打酱油的。
作者: west_dragon    时间: 2015-12-10 16:16
受教了学习中……
作者: 一线Jon    时间: 2020-2-13 10:50
谢谢站长, 学习了




欢迎光临 苏飞论坛 (http://www.sufeinet.com/) Powered by Discuz! X3.4