码迷,mamicode.com
首页 > 其他好文 > 详细

MD5 加密

时间:2015-06-02 13:19:06      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Web;

namespace GiftWeb.Util
{
    public class MD5Encrypt
    {

        /// <summary>
        /// 方法一:通过使用 new 运算符创建对象
        /// </summary>
        /// <param name="strSource">需要加密的明文</param>
        /// <returns>返回16位加密结果,该结果取32位加密结果的第9位到25位</returns>
        public static string MD51(string strSource,string temp)
        {
            //new
            System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();

            //获取密文字节数组
            byte[] bytResult = md5.ComputeHash(System.Text.Encoding.Default.GetBytes(strSource+temp));

            //转换成字符串,并取9到25位
            //string strResult = BitConverter.ToString(bytResult, 4, 8);
            //转换成字符串,32位
            string strResult = BitConverter.ToString(bytResult);

            //BitConverter转换出来的字符串会在每个字符中间产生一个分隔符,需要去除掉
            strResult = strResult.Replace("-", "");
            return strResult;
        }


        // 方法二不稳定,有时返回的是30位(如加密“123”时),尽量少用方法二!

        /// <summary>
        /// 方法二:通过调用特定加密算法的抽象类上的 Create 方法,创建实现特定加密算法的对象。
        /// </summary>
        /// <param name="strSource">需要加密的明文</param>
        /// <returns>返回32位加密结果</returns>
        public static string MD52(string strSource,string temp)
        {
            string strResult = "";

            //Create
            System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();

            //注意编码UTF8、UTF7、Unicode等的选择 
            byte[] bytResult = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(strSource+temp));

            //字节类型的数组转换为字符串
            for (int i = 0; i < bytResult.Length; i++)
            {
                //16进制转换
                strResult = strResult + bytResult[i].ToString("X");
            }
            return strResult;
        }



        /// <summary>
        /// 方法三:直接使用HashPasswordForStoringInConfigFile生成
        /// </summary>
        /// <param name="strSource">需要加密的明文</param>
        /// <returns>返回32位加密结果</returns>
        public static string MD53(string strSource,string temp)
        {
            return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strSource+temp, "MD5");
        }

       
    }
}

 

MD5 加密

标签:

原文地址:http://www.cnblogs.com/zoro-zero/p/4546028.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!