c#生成隨機字符串


    public class RandomStringBuilder
    {
        /// <summary>
        /// 生成單個隨機數字
        /// </summary>
        private int createNum()
        {
            Random random = new Random(Guid.NewGuid().GetHashCode());
            int num = random.Next(10);
            return num;
        }

        /// <summary>
        /// 生成單個大寫隨機字母
        /// </summary>
        private 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>
        private 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;
        }


        /// <summary>
        /// 生成隨機字符串
        /// </summary>
        /// <param name="length">字符串的長度</param>
        /// <returns></returns>
        public string Create(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();
        }
    }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM