要C#的,简单实用就好,不要太复杂

解决方案 »

  1.   

    http://rss.5blogs.com/blog/2006813173851163.2897132323.htm
      

  2.   

    using System;
    using System.Security.Cryptography;
    using System.Text;namespace BEGroup
    {
    /// <summary>
    /// 对字符串的加密与解密。
    /// 该类无法实例化
    /// </summary>
    public static class Crypto
    {
    private static RijndaelManaged GetRM()
    {
    RijndaelManaged rm = new RijndaelManaged();
    rm.Key = new byte[0x20] 

    0x81, 0xce, 0xd9, 0x27, 0xfe, 0x48, 0xae, 0xce, 0x6a, 0xfa, 0x4f, 0x39, 0x77, 0xd7, 0x2e, 0x89, 
    0x4f, 12, 0x13, 0x5f, 0x95, 0x79, 0x35, 190, 0x94, 0xf7, 0xdd, 0x79, 0x94, 0xa9, 0xa1, 0x60
    };
    rm.IV = new byte[0x10] { 200, 0x1c, 70, 0x74, 0xd8, 0x92, 3, 1, 0xcb, 0xfd, 0x16, 0xd8, 100, 0x51, 0xc5, 0x97}; return rm;
    } /// <summary>
    /// 加密字符串
    /// </summary>
    /// <param name="data">要加密的字符串</param>
    /// <returns>加密后的字符串</returns>
    public static string Encrypt(string data)
    {
    RijndaelManaged rm = GetRM(); try
    {
    byte[] bData = Encoding.UTF8.GetBytes(data);
    byte[] bEncrypt = rm.CreateEncryptor().TransformFinalBlock(bData, 0, bData.Length);
    return Convert.ToBase64String(bEncrypt);
    }
    catch
    {
    return null;
    }
    } /// <summary>
    /// 解密字符串
    /// </summary>
    /// <param name="data">要解密的字符串</param>
    /// <returns>解密后的字符串</returns>
    public static string Decrypt(string data)
    {
    RijndaelManaged rm = GetRM(); try
    {
    byte[] bData = Convert.FromBase64String(data);
    byte[] bDecrypt = rm.CreateDecryptor().TransformFinalBlock(bData, 0, bData.Length);
    return Encoding.UTF8.GetString(bDecrypt);
    }
    catch
    {
    return null;
    }
    }
    }
    }