JLChen
2021-01-11 5a5a2b696866f947b6025d26c3302e8ffef46435
Crabtree/SmartHome/HDL/Common/Utlis.cs
@@ -1,4 +1,5 @@
using System;
using System.Text;
using Shared.SimpleControl;
using Shared.SimpleControl.Phone;
@@ -172,5 +173,113 @@
            DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime (new DateTime (1970, 1, 1)); // 当地时区
            return startTime.AddMilliseconds (unixTimeStamp).ToString (format);
        }
        /// <summary>
        /// 生成随机字符串
        /// </summary>
        /// <param name="length">字符串的长度</param>
        /// <returns></returns>
        public static string CreateRandomString (int length)
        {
            // 创建一个StringBuilder对象存储密码
            StringBuilder sb = new StringBuilder ();
            //使用for循环把单个字符填充进StringBuilder对象里面变成14位密码字符串
            for (int i = 0; i < length; i++) {
                Random random = new Random (Guid.NewGuid ().GetHashCode ());
                //随机选择里面其中的一种字符生成
                switch (random.Next (3)) {
                case 0:
                    //调用生成生成随机数字的方法
                    sb.Append (createNum ());
                    break;
                case 1:
                    //调用生成生成随机小写字母的方法
                    sb.Append (createSmallAbc ());
                    break;
                case 2:
                    //调用生成生成随机大写字母的方法
                    sb.Append (createBigAbc ());
                    break;
                }
            }
            return sb.ToString ();
        }
        /// <summary>
        /// 生成单个随机数字
        /// </summary>
        static int createNum ()
        {
            Random random = new Random (Guid.NewGuid ().GetHashCode ());
            int num = random.Next (10);
            return num;
        }
        /// <summary>
        /// 生成单个大写随机字母
        /// </summary>
        static string createBigAbc ()
        {
            //A-Z的 ASCII值为65-90
            Random random = new Random (Guid.NewGuid ().GetHashCode ());
            int num = random.Next (65, 91);
            string abc = Convert.ToChar (num).ToString ();
            return abc;
        }
        /// <summary>
        /// 生成单个小写随机字母
        /// </summary>
        static string createSmallAbc ()
        {
            //a-z的 ASCII值为97-122
            Random random = new Random (Guid.NewGuid ().GetHashCode ());
            int num = random.Next (97, 123);
            string abc = Convert.ToChar (num).ToString ();
            return abc;
        }
        public static string MD5Encrypt (string mPassword)
        {
            var md5 = new System.Security.Cryptography.MD5CryptoServiceProvider ();
            return BitConverter.ToString (md5.ComputeHash (Encoding.UTF8.GetBytes (mPassword))).Replace ("-", "");
        }
        ///// 字符串截取并拼接
        ///// </summary>
        ///// <param name="str"></param>
        ///// <returns></returns>
        //public static string DelMacString (string str)
        //{
        //    string restr = "";
        //    if (!string.IsNullOrEmpty (str)) {
        //        ArrayList array = GetSeparateSubString (str, 2);
        //        foreach (string arr in array) {
        //            restr += arr + ".";
        //        }
        //    }
        //    return restr.TrimEnd ('.');
        //}
        //static ArrayList GetSeparateSubString (string txtString, int charNumber) //charNumber为要截取的每段的长度
        //{
        //    ArrayList arrlist = new ArrayList ();
        //    string tempStr = txtString;
        //    for (int i = 0; i < tempStr.Length; i += charNumber)//首先判断字符串的长度,循环截取,进去循环后首先判断字符串是否大于每段的长度
        //    {
        //        if ((tempStr.Length - i) > charNumber)//如果是,就截取
        //        {
        //            arrlist.Add (tempStr.Substring (i, charNumber));
        //        } else {
        //            arrlist.Add (tempStr.Substring (i));//如果不是,就截取最后剩下的那部分
        //        }
        //    }
        //    return arrlist;
        //}
    }
}