ASP.NET 中的隨機密碼生成
發表時間:2024-01-17 來源:明輝站整理相關軟件相關文章人氣:
[摘要]在開發需要用戶注冊后才能使用提供的各項功能的應用程序時,在新用戶提交注冊信息后,較常見的做法是由程序生成隨機密碼,然后發送密碼到用戶注冊時填寫的電子信箱,用戶再用收到的密碼來激活其帳戶。在 ASP.NET 中,實現隨機密碼生成功能是很容易的,下面的代碼給出了完整的實現方法:public stati...
在開發需要用戶注冊后才能使用提供的各項功能的應用程序時,在新用戶提交注冊信息后,較常見的做法是由程序生成隨機密碼,然后發送密碼到用戶注冊時填寫的電子信箱,用戶再用收到的密碼來激活其帳戶。在 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);