C#生成随机字符串
2016-06-30 10:07
393 查看
///<summary>
///生成随机字符串 转载请注明来自 http://www.shang11.com
///</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 string GetRnd(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;
}
///生成随机字符串 转载请注明来自 http://www.shang11.com
///</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 string GetRnd(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;
}
相关文章推荐
- c#工作线程中去更新界面显示
- C#通过创建Windows服务启动程序的方法详解
- C# XML配置文件读写类(用于程序配置保存)
- C#设置软件开机自动运行的方法(修改注册表)
- c# 写的一个xml配置工具,自我感觉很强大(wpf)
- 展望C# 7
- Mads Torgersen介绍C# 7及后续版本新特性
- C#分析搜索引擎URL得到搜索关键字,并判断页面停留时间以及来源页面
- C#中char类型与string类型的相互转换
- c#
- C#调试快捷键
- C#.NET日期时间取得方法
- C#中的读写文件操作函数总结
- C#的懵逼之路
- openssl使用以及C#加密和数字签名
- C#嵌套类
- C#Winform程序如何发布并自动升级
- 在.NET中的C# DLL文件的生成与使用
- 在WinForm中使用GDI+编写游戏--贪吃蛇
- C#的装箱和拆箱