C#实例开发之密码生成器
今天Xushine研究院给大家带来的是一个软件开发教程C#实例开发之密码生成器~继续说明Xushine研究院的编译环境是Windows 7 x64 Edition + Visual Studio 2010
CSDN数据库被爆,人人数据泄露……这两天到处都是这样的信息~Xushine研究院也下载了各大网站的数据库~然后经过一番分析~发现弱口令还是占有很大的部分~镜头我们就来做一个密码生成器~解决我们密码不安全的问题
还是首先新建工程~
然后开始拖控件~
然后开始写代码~首先我们需要引用
using System.Text.RegularExpressions;
然后双击form1开始写代码~
我们因为要生成随机数~所以我们先写一个随机生成函数
public string PW(string pwdchars, int pwdlen)
{
string tmpstr = “”;
int Rand;
Random rnd = new Random();
for (int i = 0; i < pwdlen; i++)
{
Rand = rnd.Next(pwdchars.Length);
tmpstr += pwdchars[Rand];
}
return tmpstr;
}
然后我们开始写密码位数这个选项的事件
在这里我们只能让密码获得位数这个选项里面输入数字~
private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar < (char)48) || (e.KeyChar > (char)57))
{
e.Handled = true;
}
}
这里说明一下~对于这个输入Xushine研究院采用的是比较方便的ASC编码取值~就是说只能获取数字~至于其他的 大家可以去查表~
接下来我们可以选着按钮事件
首先需要的对密码位数的输入框作出处理~ 既如果不在密码位数的输入框输入位数,就提示密码长度不能为空~
if (textBox2.Text.Trim() != “”)
{
}
else
MessageBox.Show(“密码长度不能为空”, “Xushine研究院”);
做了这个判断以后我们可以写出下面生成随机密码的代码:
int PWl = Convert.ToInt32(this.textBox2.Text);//获取位长
if (PWl < 40)//密码位数小于40位~
{
string randomchars =@”abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+-=\\|[{]},.<>”;
string result = PW(randomchars, PWl);
textBox1.Text = result;
}
else
MessageBox.Show(“你的记得过来吗?”, “Xushine研究院”);
那么 BUTTON下的完整代码就是:
private void button1_Click(object sender, EventArgs e)
{
if (textBox2.Text.Trim() != “”)
{
int PWl = Convert.ToInt32(this.textBox2.Text);
if (PWl < 40)
{
string randomchars =@”abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+-=\\|[{]},.<>”;
string result = PW(randomchars, PWl);
textBox1.Text = result;
}
else
MessageBox.Show(“你的记得过来吗?”, “Xushine研究院”);
}
else
MessageBox.Show(“密码长度不能为空”, “Xushine研究院”);
}
现在我们来测试一下~
我们再来测试下如果密码长度超过40和密码长度为空的情况
看完之后蠢蠢欲动,也想写个
三少准备写什么捏~
这个不错。学习了。
我是个不玩C的人
现在主流语言还是C类语言
试一下的说~
xuxu我来了
刚刚我也写了个防伪码生成器
可以读入和输出文件 还有筛选的说