ASP.NET中的随机密码生成
第一種方法:
用.NET中的 Sytem.Guid.NewGuid().ToString() 生成,實(shí)際上是對(duì)一個(gè)128bit數(shù)字的十六進(jìn)制輸出.
生成的字符由0-9和a-z這幾種字符組成,也可能會(huì)有“-”字符分割.
結(jié)果可能會(huì)是:7f44aed7-f8a4-4229-b64a-6a3e50d920e0
處理一下,去掉其中的“-”字符,剩下的是由32個(gè)阿拉伯?dāng)?shù)字和英文字母組成的串,再按自己的要求截取指定長(zhǎng)度的字串.
截取8位:
結(jié)果為:7f44aed7
or (直接獲取)
string?strNewPW?=Guid.NewGuid().ToString("n")
第二種方法:
實(shí)現(xiàn)方法:
????{
????????//設(shè)定字符范圍為:大小寫字母及數(shù)字的隨機(jī)字符串.
????????string?strPwChar?=?"abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
????????//截取長(zhǎng)度為8.
????????string?strNewPW?=?MakePassword(strPwChar,?8);?
????????Response.Write(strNewPW);
????}
????///?<summary>?
????///?生成隨機(jī)字符串
????///?</summary>?
????///?<param?name="strPwChar">傳入生成的隨機(jī)字符串可以使用哪些字符</param>
????///?<param?name="intlen">傳入生成的隨機(jī)字符串的長(zhǎng)度</param>
????public?static?string?MakePassword(string?strPwChar,?int?intlen)
????{
????????string?strRe?=?"";
????????int?iRandNum;
????????Random?rnd?=?new?Random();
????????for?(int?i?=?0;?i?<?intlen;?i++)
????????{
????????????iRandNum?=?rnd.Next(strPwChar.Length);
????????????strRe?+=?strPwChar[iRandNum];
????????}
????????return?strRe;
????}?
結(jié)果為:Qk8JW61c
方法 MakePassword 接受兩個(gè)參數(shù),strPwChar參數(shù)指定生成的隨機(jī)密碼串可以使用哪些字符,intlen指定生成的隨機(jī)密碼串的長(zhǎng)度。有了這兩個(gè)參數(shù),通過調(diào)用 Random 類的 Next() 方法,先獲得一個(gè)大于或等于 0 而小于?intlen?長(zhǎng)度的整數(shù),以該數(shù)作為索引值,從可用字符串中隨機(jī)取字符,以指定的密碼長(zhǎng)度為循環(huán)次數(shù),依次連接取得的字符,最后即得到所需的隨機(jī)密碼串了。?
轉(zhuǎn)載于:https://www.cnblogs.com/xiaoma-qi/p/5539302.html
總結(jié)
以上是生活随笔為你收集整理的ASP.NET中的随机密码生成的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM8启动分析及IAP
- 下一篇: Java .Net Byte数组存储差异