当前位置:编程学习 > C#/ASP.NET >>

c#中MD5方法总结

/// <summary>

        /// 32位md5
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string GetBigMd5(string str)
        {
            string cl = str;
            string pwd = "";
            var md5 = MD5.Create();

 
            byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));

 
            for (int i = 0; i < s.Length; i++)
            {
                pwd = pwd + s[i].ToString("X2");
            }

 
            return pwd;
        }
        /// <summary>
        /// 16位MD5
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string GetSmallMd5(string str)
        {
            var md5 = new MD5CryptoServiceProvider();
            string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(str)), 4, 8);
            t2 = t2.Replace("-", "");
            return t2;
        }

 
        private static string Encrypt(string strInput)
        {
            int i;

 
            int len = strInput.Length;

 
            string strFont = strInput.Remove(len - 1, 1);
            string strEnd = strInput.Remove(0, len - 1);

 
            var charFont = strFont.ToCharArray();
            for (i = 0; i < strFont.Length; i++)
            {
                int intFont = (int)charFont[i] + 3;
                charFont[i] = Convert.ToChar(intFont);

 
            }
            strFont = ""; //let strFont  null
            for (i = 0; i < charFont.Length; i++)
            {
                strFont += charFont[i];
            }
            var strOutput = strEnd + strFont;
            return strOutput;

 
        }
        private static string Decrypt(string strInput)
        {
            int i;

 
            string strFont = strInput.Remove(0, 1);
            string strEnd = strInput.Remove(1);

 
            var charFont = strFont.ToCharArray();
            for (i = 0; i < strFont.Length; i++)
            {
                int intFont = (int)charFont[i] - 3;
                charFont[i] = Convert.ToChar(intFont);

 
            }
            strFont = ""; //let strFont  null
            for (i = 0; i < charFont.Length; i++)
            {
                strFont += charFont[i];
            }
            string strOutput = strFont + strEnd;
            return strOutput;
        }
    
补充:软件开发 , C# ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,