使用C#(Random)随机数来制作随机字母数字混合密码生成器
来源:互联网 发布:淘宝卖话费怎么没利润 编辑:程序博客网 时间:2024/05/29 16:59
大家好,由于某些原因,我经常会需要使用一些字母与数字的混合密码
你们可能会说:随便输入一些字母与数字不就好了吗?
没错,对于一般人来说可能没啥关系
但对于我这种有强迫症的人来说,太痛苦了
每次要因为想一个好的密码而花掉很多不该花去的时间
所以决定下定决心写个程序来帮我完成想密码的过程
由于正在学习C#winfrom,所以,打算用C#来帮我完成这个程序
好了,废话不多说
我来说说完成这个程序的过程
首先,提到随机数
大家可能会想到Random这个类
对,我要说的就是这个
先晒几段核心代码
/// <summary>/// 生成单个随机数字/// </summary>public int createNum(){ Random random = new Random(); int num = random.Next(10); return num;}
/// <summary>/// 生成单个大写随机字母/// </summary>public string createBigAbc(){ //A-Z的 ASCII值为65-90 Random random = new Random(); int num = random.Next(65,91); string abc = Convert.ToChar(num).ToString(); return abc;}
/// <summary>/// 生成单个小写随机字母/// </summary>public string createSmallAbc(){ //a-z的 ASCII值为97-122 Random random = new Random(); int num = random.Next(97, 123); string abc = Convert.ToChar(num).ToString(); return abc;}
看完代码后,我想大家应该看到了里面有个 ASCII值
那么这个到底是个什么东西呢?
待会儿说。。。。。。
接下来,我们开始使用Random来生成随机数
首先给Random类创建一个对象
使用对象来点出Random类的Next方法
下面是微软官方对这个方法的说明
public virtual int Next(int minValue, int maxValue);//// 摘要:// 返回一个指定范围内的随机数。//// 参数:// minValue:// 返回的随机数的下界(随机数可取该下界值)。//// maxValue:// 返回的随机数的上界(随机数不能取该上界值)。maxValue 必须大于等于 minValue。//// 返回结果:// 一个大于等于 minValue 且小于 maxValue 的 32 位带符号整数,即:返回的值范围包括 // minValue 但不包括 maxValue。如果// minValue 等于 maxValue,则返回 minValue。//// 异常:// T:System.ArgumentOutOfRangeException:// minValue 大于 maxValue。
感觉有点蒙的童鞋我给你说下
就是这个方法可以传递两个参数进去
如果你想生成20到30的随机数
你就可以这样传递
random.Next(20, 31)
看了这个可能会问:为什么第二个参数不是30
因为官方已经说明了
返回的值范围包括
第一个参数 但不包括 第二个参数
好了,现在解决怎么随机出数字了
现在给你们说一下ASCII
ASCII(American Standard Code for Information Interchange,
美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要
用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码
系统,并等同于国际标准ISO/IEC 646。
我的个人理解就是每个字符在ASCII中都有一个固定的数字,想深入的可以
百度一下,这里就不用多讲了
下面我说一下大小写字母各个代表的 ASCII值
A-Z的 ASCII值为65-90a-z的 ASCII值为97-122
然后用强转char类型来实现数字转换为字母就不用说了吧
强转很基础,这里就不讲了,不懂得自行问度娘吧
好了,现在解决怎么随机出大小写字母了
现在来解决把随机出来的字母或者数字拼接成密码
通过拼接让我联想到了StringBuilder这个类
那么怎么把一个个字符拼接进入StringBuilder这个类的对象中呢?
难道要我们一个个的打代码吗?
No。。。。。。
所以我这里用了for循环,相信大家对这个循环不陌生了吧
下面来晒一下怎么使用for循环和StringBuilder类来实现14位随机密码字符的拼接
//创建一个StringBuilder对象存储密码StringBuilder sb = new StringBuilder();//使用for循环把单个字符填充进StringBuilder对象里面变成14位密码字符串for (int i = 0; i < 14; i++){ Random random = new Random(); //随机选择里面其中的一种字符生成 switch (random.Next(3)) { case 0: //调用生成生成随机数字的方法 sb.Append(createNum()); break; case 1: //调用生成生成随机小写字母的方法 sb.Append(createSmallAbc()); break; case 2: //调用生成生成随机大写字母的方法 sb.Append(createBigAbc()); break; }}return sb.ToString();
好了,到这里我的应用程序基本就完工了
程序改变未来,我们将要进入自动化的时代,一起加油,一起努力吧。。。。.。。。。
下面来晒几张应用程序完成图
Ok。。。。。。
这就是程序的完成图。。。。。。
- 使用C#(Random)随机数来制作随机字母数字混合密码生成器
- 使用java Random动态传递位数 生成指定位数的随机字符串-数字字母混合
- 返回8位小写字母数字混合随机密码
- 返回8位小写字母数字混合随机密码
- 随机格言生成器(Random Quote Machine)的制作
- C# Random生成随机数字和字母
- php生成随机数据(数字、大小写字母混合)
- 随机生成6位随机数(字母+数字)
- LotusScript生成随机密码(数字、字母、特殊字符组合)
- Java生成随机密码(包含大小写字母和数字)
- 密码生成器+随机数生成器
- 随机生成N位数字/字母密码
- 利用Random得到随机数字、字母和字符串
- C# .NET Random 生成随机数字和字母
- C# .NET Random 生成随机数字和字母
- C# .NET Random 生成随机数字和字母
- C# .NET Random 生成随机数字和字母
- N位数字和字母随机生成器+使用说明
- Python的优缺点
- 二叉树的遍历 (代码)
- 未定义标识符
- 【记录】独立看门狗
- maya中实时置换效果 dx11shader
- 使用C#(Random)随机数来制作随机字母数字混合密码生成器
- Cisco InterCloud
- YAML 语言教程
- 371. Sum of Two Integers
- java内部类总结
- 三维重建(二)Sift特征提取与匹配
- Codeforces Round #360 (Div. 1)A - NP-Hard Problem
- Android之SD卡简单的文件读写操作
- leetcode:Water and Jug Problem