谁会用System.Security.Cryptography.DESCryptoServiceProvider这个类对字符串进行加密解密???急需
只要最简单的就行了
代码越短越好
我只需要最基本
帮帮忙啊
高手们

解决方案 »

  1.   

    http://www.cnblogs.com/chinasf/archive/2005/05/18/157910.html
      

  2.   

    using System;
    using System.Text;
    using System.Globalization;
    using System.Security.Cryptography;class DES
    {
      // 创建Key
      public string GenerateKey()
      {
        DESCryptoServiceProvider desCrypto = (DESCryptoServiceProvider)DESCryptoServiceProvider.Create();
        return ASCIIEncoding.ASCII.GetString(desCrypto.Key);
      }  // 加密字符串
      public string EncryptString(string sInputString, string sKey)
      {
        byte [] data = Encoding.UTF8.GetBytes(sInputString);
        DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
        DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
        DES.IV  = ASCIIEncoding.ASCII.GetBytes(sKey);
        ICryptoTransform desencrypt = DES.CreateEncryptor();
        byte [] result = desencrypt.TransformFinalBlock(data, 0, data.Length);
        return BitConverter.ToString(result);
      }  // 解密字符串
      public string DecryptString(string sInputString, string sKey)
      {
        string [] sInput = sInputString.Split("-".ToCharArray());
        byte   [] data   = new byte[sInput.Length];
        for(int i = 0; i < sInput.Length; i++)
        {
          data[i] = byte.Parse(sInput[i], NumberStyles.HexNumber);
        }
        DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
        DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
        DES.IV  = ASCIIEncoding.ASCII.GetBytes(sKey);
        ICryptoTransform desencrypt = DES.CreateDecryptor();
        byte [] result = desencrypt.TransformFinalBlock(data, 0, data.Length);
        return Encoding.UTF8.GetString(result);
      }
    }class Test
    {
      static void Main()
      {
        DES des = new DES();
        string key = des.GenerateKey();
        string s0  = "中国软件 - csdn.net";
        string s1  = des.EncryptString(s0, key);
        string s2  = des.DecryptString(s1, key);
        Console.WriteLine("原串: [{0}]", s0);
        Console.WriteLine("加密: [{0}]", s1);
        Console.WriteLine("解密: [{0}]", s2);
      }
    }/* 程序输出:
    原串: [中国软件 - csdn.net]
    加密: [E8-30-D0-F2-2F-66-52-14-45-9A-DC-C5-85-E7-62-9B-AD-B7-82-CF-A8-0A-59-77]
    解密: [中国软件 - csdn.net]
    */