MD5加密

MD5加密分爲32位和16位,其實16位就是把32位的計算出來後截取了中間的16位而已,沒有其他特殊的計算方法

加密方法的使用

        /// <summary>
        /// MD5加密
        /// </summary>
        /// <param name="str">要加密的字符串</param>
        /// <param name="type">32爲32位加密,16爲16位加密 默認32位加密</param>
        /// <returns></returns>
        public static string GetMD5(string str, MD5Type type = MD5Type.Bits_32)
        {
            string md5Pwd = string.Empty;

            //使用加密服務提供程序
            MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
            //將指定的字節子數組的每個元素的數值轉換爲它的等效十六進制字符串表示形式。
            if (type == MD5Type.Bits_32)
            {
                md5Pwd = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(str)));
            }
            else
            {
                md5Pwd = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(str)), 4, 8);
            }
            md5Pwd = md5Pwd.Replace("-", "");
            return md5Pwd;
        }

枚舉類型:

    public enum MD5Type
    {
        Bits_32 = 32,
        Bits_16 = 16
    }

 

調用方法:

GetMD5("suiersuier"); //返回32位的
GetMD5("suiersuier", MD5Type.Bits_16); //返回16位的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章