您的位置:首页 > 编程语言 > ASP

ASP.NET C# MD5加密 解密

2016-04-19 09:18 627 查看
    readonly static string key = "DA39A3EE5E6B4B0D3255BFEF95601890AFD80709";

        string MD5_EncodeStr = MD5_Encode(“468498148418”);

        Response.Write("[RandomNumMD5Encode]" + MD5_EncodeStr + "[/RandomNumMD5Encode]<br/>");

        string MD5_DecodeStr = MD5_Decode(MD5_EncodeStr);

        Response.Write("[RandomNumMD5Decode]" + MD5_DecodeStr + "[/RandomNumMD5Decode]<br/>");

   /// <summary>

    /// 加密

    /// </summary>

    /// <param name="data"></param>

    /// <returns></returns>

    public static string MD5_Encode(string data)

    {

        byte[] byKey = System.Text.Encoding.Default.GetBytes(key.Substring(5, 8));

        byte[] byIV = System.Text.Encoding.Default.GetBytes(key.Substring(5, 8));

        DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();

        int i = cryptoProvider.KeySize;

        MemoryStream ms = new MemoryStream();

        CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(byKey, byIV), CryptoStreamMode.Write);

        StreamWriter sw = new StreamWriter(cst);

        cst.Write(System.Text.Encoding.Default.GetBytes(data), 0, System.Text.Encoding.Default.GetByteCount(data));

        //sw.Write(data);   

        sw.Flush();

        cst.FlushFinalBlock();

        sw.Flush();

        return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);

    }

    /// <summary>

    /// 解密

    /// </summary>

    /// <param name="data"></param>

    /// <returns></returns>

    public static string MD5_Decode(string data)

    {

        //把密钥转成二进制数组

        byte[] byKey = System.Text.Encoding.Default.GetBytes(key.Substring(5, 8));

        byte[] byIV = System.Text.Encoding.Default.GetBytes(key.Substring(5, 8));

        byte[] byEnc;

        try

        {

            //base64解码

            byEnc = Convert.FromBase64String(data);

        }

        catch

        {

            return null;

4000
        }

        DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();

        MemoryStream ms = new MemoryStream(byEnc);

        CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateDecryptor(byKey, byIV), CryptoStreamMode.Read);

        StreamReader sr = new StreamReader(cst);

        byte[] tmp = new byte[ms.Length];

        cst.Read(tmp, 0, tmp.Length);

        string result = System.Text.Encoding.Default.GetString(tmp);

        return result.Replace("\0", "");

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  asp.net md5