淺析ASP.NET生成隨機(jī)密碼
ASP.NET生成隨機(jī)密碼
在開(kāi)發(fā)需要用戶注冊(cè)后才能使用提供的各項(xiàng)功能的應(yīng)用程序時(shí),在新用戶提交注冊(cè)信息后,較常見(jiàn)的做法是由程序生成隨機(jī)密碼,然后發(fā)送密碼到用戶注冊(cè)時(shí)填寫(xiě)的電子信箱,用戶再用收到的密碼來(lái)激活其帳戶。
實(shí)現(xiàn)ASP.NET生成隨機(jī)密碼功能是很容易的,下面的代碼給出了完整的實(shí)現(xiàn)方法:
- publicstaticstringMakePassword(stringpwdchars,intpwdlen){
- stringtmpstr="";
- intiRandNum;
- Randomrnd=newRandom();
- for(inti=0;i<pwdlen;i++){
- iRandNum=rnd.Next(pwdchars.Length);
- tmpstr+=pwdchars[iRandNum];
- }
- returntmpstr;
- }
對(duì)照源碼,講一下具體的思路:
方法 MakePassword 接受兩個(gè)參數(shù),pwdchars 參數(shù)指定生成的隨機(jī)密碼串可以使用哪些字符,pwdlen 指定生成的隨機(jī)密碼串的長(zhǎng)度。有了這兩個(gè)參數(shù),通過(guò)調(diào)用 Random 類的 Next() 方法,先獲得一個(gè)大于或等于 0 而小于 pwdchars 長(zhǎng)度的整數(shù),以該數(shù)作為索引值,從可用字符串中隨機(jī)取字符,以指定的密碼長(zhǎng)度為循環(huán)次數(shù),依次連接取得的字符,***即得到所需的隨機(jī)密碼串了。
代碼調(diào)用 MakePassword() 方法獲取長(zhǎng)度為 10 ,可用字符范圍為大小寫(xiě)字母及數(shù)字的隨機(jī)字符串。
- string randomchars =
"abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";- string password = MakePassword(randomchars, 10);
以上是ASP.NET生成隨機(jī)密碼。
【編輯推薦】