-
ASP.NET 中的随机密码生成
2007-12-11
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
在开发需要用户注册后才能使用提供的各项功能的应用程序时,在新用户提交注册信息后,较常见的做法是由程序生成随机密码,然后发送密码到用户注册时填写的电子信箱,用户再用收到的密码来激活其帐户。
http://zz2008.blogbus.com/logs/11883918.html
在 ASP.NET 中,实现随机密码生成功能是很容易的,下面的代码给出了完整的实现方法:
public static string MakePassword(string pwdchars, int pwdlen){
string tmpstr = "";
int iRandNum;
Random rnd = new Random();
for(int i=0;i<pwdlen;i++){
iRandNum = rnd.Next(pwdchars.Length);
tmpstr += pwdchars[iRandNum];
}
return tmpstr;
}对照源码,讲一下具体的思路:
方法 MakePassword 接受两个参数,pwdchars 参数指定生成的随机密码串可以使用哪些字符,pwdlen 指定生成的随机密码串的长度。有了这两个参数,通过调用 Random 类的 Next() 方法,先获得一个大于或等于 0 而小于 pwdchars 长度的整数,以该数作为索引值,从可用字符串中随机取字符,以指定的密码长度为循环次数,依次连接取得的字符,最后即得到所需的随机密码串了。
下面的代码调用 MakePassword() 方法获取长度为 10 ,可用字符范围为大小写字母及数字的随机字符串。
string randomchars = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
string password = MakePassword(randomchars, 10);
历史上的今天:
在ASP.NET 2.0中使用页面导航控件 2007-12-11ASP.NET历险(二)——对服务器控件的一点思考 2007-12-11ASP.NET工程中日历控件的典型应用之一 2007-12-11ASP.net实现信用卡检查和自定义确认控件(二) 2007-12-11在asp.net中为Web用户控件添加属性和事件 2007-12-11随机文章:
ASP.NET历险(二)——对服务器控件的一点思考 2007-12-11在asp.net中为Web用户控件添加属性和事件 2007-12-11基于ASP.NET实现全球化 2007-12-11ASP.NET的缓存技术 2007-12-11十天学会ASP.net之第十天 2007-12-11
收藏到:Del.icio.us








