• C# 生成随机字符串


    #region 5.0 生成随机字符串 + static string GetRandomString(int length, bool useNum, bool useLow, bool useUpp, bool useSpe, string custom)
            ///<summary>
            ///生成随机字符串 
            ///</summary>
            ///<param name="length">目标字符串的长度</param>
            ///<param name="useNum">是否包含数字,1=包含,默认为包含</param>
            ///<param name="useLow">是否包含小写字母,1=包含,默认为包含</param>
            ///<param name="useUpp">是否包含大写字母,1=包含,默认为包含</param>
            ///<param name="useSpe">是否包含特殊字符,1=包含,默认为不包含</param>
            ///<param name="custom">要包含的自定义字符,直接输入要包含的字符列表</param>
            ///<returns>指定长度的随机字符串</returns>
            public static string GetRandomString(int length, bool useNum, bool useLow, bool useUpp, bool useSpe, string custom)
            {
                byte[] b = new byte[4];
                new System.Security.Cryptography.RNGCryptoServiceProvider().GetBytes(b);
                Random r = new Random(BitConverter.ToInt32(b, 0));
                string s = null, str = custom;
                if (useNum == true) { str += "0123456789"; }
                if (useLow == true) { str += "abcdefghijklmnopqrstuvwxyz"; }
                if (useUpp == true) { str += "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; }
                if (useSpe == true) { str += "!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~"; }
                for (int i = 0; i < length; i++)
                {
                    s += str.Substring(r.Next(0, str.Length - 1), 1);
                }
                return s;
            } 
            #endregion
  • 相关阅读:
    2016.7.22.noip2012D2
    2016.7.21.noip2014D2
    LIS最长上升子序列O(n^2)与O(nlogn)的算法
    vijos1910解方程
    vijos1909寻找道路
    viojs1908无线网路发射器选址
    P1907飞扬的小鸟
    P1906联合权值
    P1905生活大爆炸版 石头剪刀布
    poj1274(匈牙利算法)
  • 原文地址:https://www.cnblogs.com/iack/p/3541755.html
Copyright © 2020-2023  润新知