浅析ASP.NET生成随机密码函数
程序员文章站
2024-03-09 15:33:05
实现asp.net生成随机密码功能是很容易的,下面的代码给出了完整的实现方法: 复制代码 代码如下: publicstaticstringmakepassword(stri...
实现asp.net生成随机密码功能是很容易的,下面的代码给出了完整的实现方法:
publicstaticstringmakepassword(stringpwdchars,intpwdlen)
{
stringtmpstr="";
intirandnum;
randomrnd=newrandom();
for(inti=0; i{
irandnum=rnd.next(pwdchars.length);
tmpstr+=pwdchars[irandnum];
}
returntmpstr;
}
对照源码,讲一下具体的思路:
方法 makepassword 接受两个参数,pwdchars 参数指定生成的随机密码串可以使用哪些字符,pwdlen 指定生成的随机密码串的长度。有了这两个参数,通过调用 random 类的 next() 方法,先获得一个大于或等于 0 而小于 pwdchars 长度的整数,以该数作为索引值,从可用字符串中随机取字符,以指定的密码长度为循环次数,依次连接取得的字符,最后即得到所需的随机密码串了。
代码调用 makepassword() 方法获取长度为 10 ,可用字符范围为大小写字母及数字的随机字符串。
string randomchars ="abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz"; string password = makepassword(randomchars, 10); 以上是asp.net生成随机密码。
复制代码 代码如下:
publicstaticstringmakepassword(stringpwdchars,intpwdlen)
{
stringtmpstr="";
intirandnum;
randomrnd=newrandom();
for(inti=0; i{
irandnum=rnd.next(pwdchars.length);
tmpstr+=pwdchars[irandnum];
}
returntmpstr;
}
对照源码,讲一下具体的思路:
方法 makepassword 接受两个参数,pwdchars 参数指定生成的随机密码串可以使用哪些字符,pwdlen 指定生成的随机密码串的长度。有了这两个参数,通过调用 random 类的 next() 方法,先获得一个大于或等于 0 而小于 pwdchars 长度的整数,以该数作为索引值,从可用字符串中随机取字符,以指定的密码长度为循环次数,依次连接取得的字符,最后即得到所需的随机密码串了。
代码调用 makepassword() 方法获取长度为 10 ,可用字符范围为大小写字母及数字的随机字符串。
string randomchars ="abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz"; string password = makepassword(randomchars, 10); 以上是asp.net生成随机密码。