说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

强大的C#随机字符串生成器

HTML文档下载 WORD文档下载 PDF文档下载
使用这个类,你可以生成随机字符串,如密码和标识,主要特点是你可以定制以满足您的需求。

 

作者:brol.sergii

 


下载源代码

 

 

介绍

使用这个类,你可以生成随机字符串,如密码和标识,主要特点是你可以定制以满足您的需求。

 

背景

你可以有以下设置:

 

1. 4种字符集(大写,小写,数字和特殊字符)

2. 设定自己的字符集

3. 每种类型的字符数量最少

4. 模式驱动的字符串生成器

5. 可以生成唯一字符串

6. 每个字符只使用一次

 

使用代码

要开始使用它,你需要创建一个类的实例,并调用"Generate",像这样:

 

Console.WriteLine("Fixed size");RandomStringGenerator RSG = new RandomStringGenerator();for (int i = 0; i < 5; i++)    Console.WriteLine(RSG.Generate(25));Console.WriteLine("Variable size");RSG = new RandomStringGenerator();for (int i = 0; i < 5; i++)    Console.WriteLine(RSG.Generate(15,25));Console.WriteLine("Using pattern");RSG = new RandomStringGenerator();for (int i = 0; i < 5; i++)    Console.WriteLine(RSG.Generate("LLln*ssssL"));Console.WriteLine("Using only letters and numbers");RSG = new RandomStringGenerator();// Or we can use the constructorRSG.UseSpecialCharacters = false;for (int i = 0; i < 5; i++)    Console.WriteLine(RSG.Generate(30));Console.WriteLine("Using only special characters and numbers");RSG = new RandomStringGenerator();// Or we can use the constructorRSG.UseUpperCaseCharacters = false;RSG.UseLowerCaseCharacters = false;for (int i = 0; i < 5; i++)    Console.WriteLine(RSG.Generate(30)); Console.WriteLine("Using your own alphabet");RSG = new RandomStringGenerator(false,true,true,false);// Or we can use the constructorRSG.LowerCaseCharacters = "абвгдежзиклмнопрстуфхчшщюяьъ".ToCharArray();for (int i = 0; i < 5; i++)    Console.WriteLine(RSG.Generate(30));Console.WriteLine("Using special limits");RSG = new RandomStringGenerator();RSG.MinLowerCaseCharacters = 2;RSG.MinSpecialCharacters = 20;for (int i = 0; i < 5; i++)    Console.WriteLine(RSG.Generate(35));Console.WriteLine("Using each character only once");RSG = new RandomStringGenerator();RSG.MinLowerCaseCharacters = 25;RSG.RepeatCharacters = false;for (int i = 0; i < 5; i++)    Console.WriteLine(RSG.Generate(25));Console.WriteLine("Using custom alphabet, pattern and unique chars");RSG = new RandomStringGenerator();RSG.LowerCaseCharacters = "абвгдежзиклмнопрстуфхчшщюяьъ".ToCharArray();RSG.RepeatCharacters = false;for (int i = 0; i < 5; i++)    Console.WriteLine(RSG.Generate("lllnlllnlllsssL"));

运行结果

 

Fixed sizedDDH6S%5we=h:9=Ohm2qZ_CPmv{]q.sIY@1|YVc/y<Pu=oY[gni%Ws!(X%YOQ8uc?50uf#r(OC[kTJQ|>m*N1CA_qP>-J=%elHp[GZaAuwdwBR<T/$9-5,pJNDn>rVariable sizeLfUf%kcb{4A#bHOlwHtX8kX>uBUIOcU6>>mTx$:wo)KCs=B;c{Rfz.}MLtDV4*zH6yjQuszcZNkrz_7mblAFP#_=b>el<>CelyS.Using patternJVh8I~.=>BJJa8d,%?]MBXv7?{]%]IGFz5S&!|(UPEu8m~(%(ZUsing only letters and numbersjbIBUPvKNc0sOsnRSVFbK43k7sVnGiV1UdOnJtR3GUPE9lcgG6W0xbo8ibMIy2ecnrzPJcQ74Qcewu7YHdHS5eauwmeBYufP01BMbSddsT7tJ9MevNSnVDE8tU3jcbB7yuHknMWDphazYSNO9QBvXmUsing only special characters and numbers$*&!.<>52]$(89}+}]$]]5<67_03~>~&;>#3!(4|2<1*>>$.#&?#)8+$?>0|@^@*@.</^},>-*!61^&]-~}?}={(5|!:{3;>{}9*3<;3:5{3,+?19}04?@./|586<([11|.~>8*8?8]|)<>%([)0|6Using your own alphabetообкбнълея4тжд8ик3л924р7псу5дя6н2рхьрр4ш65зс35бх8ло4015ед8ажрь4жаоупиет76хлхдпю2кщгд0о8сьггусю28жрж1щиьп7к8гблф7см48лб8дсд8гч5щхчиж4чдщьс1нь9ичгщзабулUsing special limits!I@%){.>f,S-_3k_^*s$~/$_)*>)({)%():$[?-iQ~:~C;{a]{?^X,^g^;G{<!R{>,W]_*?=~F>+*d}_]#9||C[*B[U^j[T%em&/r{_o.:=K5-;1]Hg_!}+&$/9h(k-};g:%Iq#.{>GVXP&o<;U(%:E<}L,ehi;//-:{/F2!&;!+^>@Using each character only oncelvpeiywofrhkajdqtxcsbunzmenfkasgqtlxzuciryjmpdbohvoyfjnxkqtamcvzipwlsedhurbatubmnkehwjvolzpgxfsdicqyswqkdatpgzcjhmiyvblxnufroUsing custom alphabet, pattern and unique charsъхг6тею1ушь]->Gюхч8ьта7щгш)>@Hащо8ефл0ъпз};!Kъут8ещш5иом^$|Kожх5ргн9тсш?~#M
一些其它用途:
1.固定大小的字符串生成
2.可变大小的字符串生成
3.使用模式的字符串生成(L - 大写字母,l - 小写字母,n - 数字,s - 特殊字符和,* - 任何字符(所有字符集)
4.只使用字母和数字的字符串生成
5.只使用特殊字符和数字的字符串生成 
6.使用自定义的字母生成
7.使用最小限制的字符串生成
8.每个字符只使用一次
9.使用多种设置

 

 

DELPHI下的多线程程序设计 Delphi下汉字输入法的编程及使用 在Delphi与C++之间实现函数与对象共享 DELPHI中处理时间 Delphi中的INI文件编程 DELPHI中的消息处理机制 Delphi中对目录拷贝、删除和搬移的操作 Delphi中任务栏状态区的编程 Delphi中如何处理2000年问题 Delphi中如何实现系统权限的设置 Delphi中异常的截获及其个性化处理 Delphi自定义消息应用一例 Delphi5中资源文件的创建和使用 Delphi的Bug-Tthread Suspend方法 Email服务器的简单实现-Delphi资料 Hook的制作-Delphi资料 INI文件的应用-Delphi资料 NT中的关闭计算机,重新登陆的实现-Delphi资料 Windows 系统方面-Delphi资料 Windows外壳扩展编程-Delphi资料 避免二次运行-Delphi资料 编程实现文件关联-Delphi资料 编写定制的文件流实现文件读写加密-Delphi资料 采用多线程进行数据采集-Delphi资料 产生临时文件名-Delphi资料 程序不出现在任务栏-Delphi资料 程序缩小为任务条右下角的小图标-Delphi资料 得到 Windows 用户名和序列号-Delphi资料 得到windows临时路径-Delphi资料 得到Windows用户名和序列号-Delphi资料 得到计算机的名字和ip-Delphi资料 哪里有完整的MINE解码组件 有关关机程序的问题,帮帮忙。 安装树的问题?????????? 求助!关于ip地址数据库的 读多个串口时为什么时钟停止了? 安装树的问题?????????? 请教FxScanner是什么程序? 请大家出主意 为什么总是让我下载java虚拟机 调查一下大家在用VB做软件时最常用哪些控件呀, DataGrid_UpdateCommand里怎么取不到变化后的值 求助!关于ISAPI的问题? 一个简单问题,高分求解。。 我是东东树的妹妹,我有问题要问大家。关于jsp页面重定向问题? system.globaliztion.cultureinfo("en_US") 是不是C#中要进行字符集的转换处理 请问以下构造函数的sql有什么错误?提示AS附近由于发错误,字段名可以用变量吗? windows2000与windows2003的互相访问的问题? 一个简单基本的问题求教高手,急在线等 Blue Workshop产品消息:.Net插件Replace it 1.3在CSDN和www.skycn.com.cn总下载量突破900次; SharpRefactor(C#代码重构工具)在CSDN的下 J2ME中文显示问题,急!! ado.net 我发现JSP一个奇怪的问题???想要看看吗???进来呀!!! 昨晚2点多一个mm突然打电话找我聊天,各位觉得我有戏没? 哪里有完整的MINE解码组件 为什么我装完FreeBSD系统启动时Sendmail启动的特别慢,telnet时也很慢。 小弟初学JSP,想搞点源代码来学习学习。 难搞的MIDAS 局域网的问题,急死了, vb中继承及分辨率问题 ASP里有没有带下拉框的输入框? 象素数据和图象数据 公司的一个数据库被人del,现在想查查是谁什么时候做的? 为什么我的窗口无法操作 关于oracle数据库增量备份土土的一问。 ArrayList问题 请教:在CB6下面怎么用 TMediaPlayer 控件来录音? 南开的vb习题集!!! 请问:如何在servlet中获得当前时间和当前日期?菜鸟问题,请见谅。 为什么我的opendialog不能返回filename,而返回了一个 $符号 大家对购买tcl笔记本等国产笔记本有没有什么建议? 第一次用vfp,新手提问? 请问哪位大虾知道,Crystal 7.0如何记忆上次打印该报表的打印机 纸张大小 纸张方向 边界设定等 如何自动生成新页? 显示器问题!! [代码发布]使用 Lostinet.SqlScope 4.0 实现高效的SQL SERVER应用程序 关于Decode函数的问题 WIN2000下的关机问题?请高手们想想办法! 寻找一个叫dingke的朋友,我将把邮箱给你,但我不小心弄丢了你的联系信箱,请速与我联系 请问:Dialog中可以重载LButtonDown事件吗? 如何用pb实现远程关机!!求救! 高分请教:zip密码遗忘 粗盐加工食用盐方法 在医院,患者出现贫血,患者的亲属可以给患者输血吗? 二价的铜离子和一价的银离子 氧化性谁强 机械基础实验室用什么标语,比较好? 某大型商场去年的营业额是5亿元,预计今年的营业额将提高4/25.今年的营业额将是多少亿元? 华联超市今年的营业额是a万元,比去年的营业额多b万元,今年的营业额比去年多几分之几 华联超市今年的营业额是a万元,比去年的营业额多b万元,今年的营业额比去年多几分之几?急, 艾斯的父亲竟然是罗杰!刚看了550的情报 艾斯的父亲竟然是罗杰 打击不小 心情一时难以平复海贼王如果有儿子 只能是路飞 路飞和海贼王 很多相似点 不然主角无法当了 因为我看到之后 心里 天风刮出红晨醉 黑夜笑赞黎明美的意思是还有这一句话 青山白云依旧在,风自啸狂傲九州。 英语翻译 下面四个图形中,能判断∠1>∠2的是( )下面四个图形中,能判断∠1>∠2的是( )A.B.C.D. 浙江大学教授演示神奇“隐身衣” 鱼缸上周末金华16个监测点 11个点空气婴儿注射疫苗险丧命 “疫苗后遗症”家浙江多举措扶持小微企业浙江商品房销售增幅下降上海总价地王刺激周边二手房 两月单价朴槿惠出席法国韩剧派对 当地民众热情江苏一农业类高校设电梯专业 学校回应棱镜门记者称自己必将返回美国 绝不因快车道上驶来雪橇车:老人驾车三只狗狗南京:学生上“普高职高融通班”可读大卡通代言形象亮相科达股份:走势爆出惊人内幕,后市操作“海淘”关税交不交 查查微信全知晓“高富帅”露一手中联重科拟回购部分A股5.17库欣库存成关键先生,多头永不关注保障性住房家庭身体健康安全收放须有度,显隐皆是情观战指南:5.17库欣库存成关键先生,多头永不党员带头挖穷根
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘