谁有AES+BASE64加密、解密类!

解决方案 »

  1.   

    使用Microsoft自带的呗
    命名空间为System.Security.Cryptography
    里面的几个有用的类CryptoStream
    DES
    DESCryptoServiceProviderBase64编码使用Convert.GetBase64String(byte[] data)获得string数据
    使用Convert.FromBase64String(string data)来获得byte[]数据
      

  2.   

    加密
    // desKey必须是8字节,desIV必须是8字节
    string Encrypt (string Src, byte[] desKey, byte[] desIV)
    {
    byte[] data = Encoding.Defalut.GetBytes(Src);
    Stream sout = new MemoryStream();
    DES des = new DESCryptoServiceProvider();
    CryptoStream encStream = new CryptoStream(sout, des.CreateEncryptor(desKey, desIV), CryptoStreamMode.Write);
    encStream.Write(data, 0, data.Length);
    encStream.FlushFinalBlock();
    StreamReader sreader = new StreamReader(sout);
    string encString = Convert.ToBase64String(sreader.ReadToEnd());
    return encString;
    }解密
    加密
    // desKey必须是8字节,desIV必须是8字节
    string Decrypt (string Src, byte[] desKey, byte[] desIV)
    {
    byte[] data = Convert.FromBase64String(Src);
    Stream sout = new MemoryStream();
    DES des = new DESCryptoServiceProvider();
    CryptoStream encStream = new CryptoStream(sout, des.CreateDecryptor(desKey, desIV), CryptoStreamMode.Write);
    encStream.Write(data, 0, data.Length);
    encStream.FlushFinalBlock();
    StreamReader sreader = new StreamReader(sout);
    string decString = Encoding.Default.GetString(data);
    return decString;
    }
      

  3.   

    调用实例(有人给我发信索要,2月的信我到现在才看到,真是对不起这位兄台了……)// 这里只要是8位就行,加密解密所用的desKey和desIV必须相同
    static byte[] desKey = new byte[8] { 0x14, 0x4D, 0x5C, 0x8A, 0x5C, 0xC3, 0x16, 0xB7 };
    static byte[] desIV = new byte[8] { 0x53, 0x2D, 0x7F, 0x91, 0x8, 0x3E, 0x6C, 0x38 };string orgMessage = "This is a test";string encMessage = Encrypt   (orgMessage, desKey, desIV);
    string decMessage = Decrypt (encMessage, desKey, desIV);if (decMessage == orgMessage)
    {
    // 加密解密成功
    }