zoukankan      html  css  js  c++  java
  • 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;
            }
  • 相关阅读:
    进程与线程的区别与联系
    IPC 进程间通信
    sql中的group by 和 having 用法
    大端小端格式
    Spring AOP的一个比喻和IOC的作用
    volatile变量
    策略模式
    划分算法与快速排序
    希尔排序及希尔排序java代码
    红黑树
  • 原文地址:https://www.cnblogs.com/fengyun99/p/1710372.html
Copyright © 2011-2022 走看看