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

强大的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.使用多种设置

 

 

React Native实战(二):Android的打包 独立游戏的成功秘诀:好设计才是王道 Swift 2.1的新变化 Apple TV实战:用TVML开发第一款tvOS应用 【SDCC讲师专访】阿里王晶昱:云时代的分布式数据库DRDS 硬件研发、嵌入式技术演进:MDCC IoT峰会日程揭晓 专访百度知道iOS团队负责人孙源:代码强迫症的死实践派 TIOBE 2015年10月编程语言排行榜:Ruby取代Objective-C进前十 【SDCC讲师专访】PingCAP联合创始人兼CEO刘奇:好的产品应开源,不闭门造车 【深入浅出Koa】常用工具分享 帮你降低编程难度 Relay: 全新的React数据获取框架 探索游戏开发面临的技术挑战——MDCC 2015游戏开发专场议程曝光 【SDCC讲师专访】易开发创始人潘俊勇:这些年我遇到的那些坑 【CTO讲堂】OpenStack行业实践和发展趋势探讨 万物互联,移动为先:MDCC 2015移动开发者大会盛大开幕! 【MDCC 2015】微软开发体验与平台事业合作部大中华区DX部门总经理Srikanth Raju:物联之上云+端 英雄会晚宴,Top开发者共聚“华山之巅” 【MDCC 2015】产品与设计专场(上):百度研究院、印象笔记等专家齐聚,以实例探讨如何打造好产品 【MDCC 2015】产品与设计专场(下):网易云音乐、在行、三节课、去哪儿网、野兽骑行大咖的产品之路 友盟:把数据用活 让开发者享受大数据红利 友盟:用活大数据 让精细化运营为移动开发者服务 携手世纪互联 IBM Bluemix云平台落地中国 【MDCC 2015】IoT峰会—硬件开发与技术专场(下):专家齐聚,共同打造联网新时代 【MDCC 2015】虚拟现实专场(下):虚拟现实的“困”与“竞” 【CTO讲堂】面对世界竞争对手,如何拿到Google PDF开源项目PDFium? 提升网站性能开发的10个技巧 SDCC 2015:顶尖技术精英云集 大会日程及首批讲师议题公布 《近匠》专访猿团创始人CEO谢恩明:梦想、未来、改变 《近匠》专访小熊尼奥:从软硬结合到IP合作,AR产品的机遇 W3C启动Web支付标准工作,推进在线结算流程 W3C中国区会员沙龙在京召开 W3C CEO Jeff分享W3C未来发展重点 TEST 求php的win98下开发环境,大家帮帮忙。 我想做一个类似于邮件系统中附件功能的程序,请问用的是什么协议,那里有源码? 为什么输出结果不正确呢??? 急救!用ADO在98下与2K下不能同时运行! 主板的认识! 如何删除相同的两条记录 有关Blob造型成oracle.sql.BLOB的问题。 急死我了!!!RS485通讯的奇怪问题,请高手帮忙! 怎样在delete记录时不往log文件中写东西? 签名支持JK10000行动,同意签名者,进来跟贴!到时候咱们的真名或ID会被复印在传单背面,抵制日货,保卫钓鱼岛!!!!!!!!!!!! 迷惑!!!!!高手指点,值得讨论,谢谢! char型怎么转换成String型?(答对结帖) 请问 哪位大侠有loadrunner的中文测试资料提供一下,非常感谢! JS和ASP的问题????? 高手指点 这样划分vlan可不可以???? 数据库超时 VB+SQl 2000 如何实现在程序运行时加减代码? 各位高手给我个提示有关手动添加消息映射的 关于EjbOBJECT和EJBLOCALOBJECT在使用上的区别?? 寻找中俄文转换的工具软件!急! 请问怎么把CLASS程序打包成JAR程序? 如何在VC中嵌入对Access表tableApp中纪录个数的统计(在线等)? 学习java到底有没有前途?? 关于ie6和ie5下使用javascript的问题??? 自定义函数返回值的问题 小问题:如何在VC中嵌入对Access表tableApp中纪录个数的统计(在线等)? 怎么没人理我啊?我好可怜!linux下线程池谁知道怎样实现,在哪里可以找到资料? 请教高手:如何把 Office Word 中的字(包括字体、字色、字类型等)复制到 java 中。急!在线... 挂双硬盘在CMOS中怎么设置? 沾边就给分,请问各位前辈,我想画一个框,并据一定的条件使它以两种颜色交替显示,退出时将其释放 不能用右键来另存图片 关于J2EE问题? 有没有这么一个函数:将一个double型变量按科学计数法的格式显示出来 升级的问题 难!请教关于随机分段计算并判断的问题。 请教:QT库怎么配?怎么看装没装上?里面都有什么? 请推荐一个国外的(英文)网站,类似与csdn的程序员网站!想提高英语水平 请问jsp程序在运行时出现的这个错误是什么原因引起的? ASP对字符串加密后,就认不到路径了,,, 如何在VSS中建立软件运行平台。 如何接收附件 学习java有什么好的资料,书,网站!! 一个简单问题,在线等待! 设计模式疑问,偶都快晕了~~~ 当前账户被禁用 歌词NO-18 爱上别人是快乐的事 吴俊霖 tomcat4中更新bean后需要重起,我受不了这种开发方式,以前3.2时就没有这个问题? 关于颜色的问题 杭州东站枢纽配套地图出炉 进站乘车四金华未来一周艳阳回归午后阵雨活跃 或修复水生态环境 嘉兴出台河道清洁专项温岭坞根岭隧道今起封闭施工衢州两历史文化街区房屋收购开始签约湖州干部选拔任用采取空岗预告和网上推湖州撤地建市30周年 已经向工业强市温州市民卡服务项目公示一年未开通 随钱塘江上开轮渡初步设定4条航线杭州地铁2号线东南段全线洞通 计划明7月1日开始杭州火车南站将停办客运业杭州地铁1号线火车东站站月底迎客杭州治堵车辆道路违停 或将直接被拖离昨天杭州最高气温36.4℃为62年来嘉绍大桥月底通车 绍兴到上海缩短至1金华市区拟取消900个路面停车位金华拟提拔6位结构性市管干部 最年轻杭州火车东站开通在即 火车南站将暂别杭州地铁18天三次因故障停车 民众质厦深高铁或年底前开通 温州到深圳6个浙江再掀撤县设区热:洞头撤县设区方案“蓝天”下开枪射杀砸车男子 东莞押运员被刑拘10家不合格4A级景区资质被取消和颐酒店袭击者介绍卖淫判两年三位部长回应如何防范“毒地事件”北京正式供暖提前至13日智利中部地区发生6.4级地震天意中的荒诞,天鹅绒里的针芒就该拿“政府借融资平台举债”开刀对这个世界,悲观不被允许,乐观又太愚释读《山海经》 寻回远古的星空首钢主场两连胜更正与说明朴槿惠再道歉 称愿接受调查和颐酒店袭击者介绍卖淫判两年北京多家银行汇款强制填防骗单 顾客忧治“乱开远光灯”,执法还得更给力10家不合格4A级景区资质被取消昨日重霾 今日减轻证监会:56家企业IPO被终止审查经由历史和现实,去看见我们的时代
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘