Example #1
0
        /// <summary>
        /// 生成随机数。
        /// </summary>
        /// <param name="verificationCodeCategory"></param>
        /// <param name="length"></param>
        /// <returns>随机数。</returns>
        public static string GetRandString(VerificationCodeCategory verificationCodeCategory, int length = 4)
        {
            StringBuilder sb          = new StringBuilder();
            var           numString   = "0123456789";
            var           lowerString = "abcdefghijklmnopqrstuvwxyz";
            var           upperString = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
            var           baseStr     = string.Empty;

            if (verificationCodeCategory.HasFlag(VerificationCodeCategory.Number))
            {
                baseStr += numString;
            }

            if (verificationCodeCategory.HasFlag(VerificationCodeCategory.Lowercase))
            {
                baseStr += lowerString;
            }

            if (verificationCodeCategory.HasFlag(VerificationCodeCategory.Uppercase))
            {
                baseStr += upperString;
            }

            var baseArray = baseStr.ToCharArray();

            for (int i = 0; i < length; i++)
            {
                var ch = baseArray.ElementAt(Random.Next(baseArray.Length));
                sb.Append(ch);
            }

            return(sb.ToString());
        }