ASP.NET中的随机密码生成
生活随笔
收集整理的這篇文章主要介紹了
ASP.NET中的随机密码生成
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第一種方法:
用.NET中的 Sytem.Guid.NewGuid().ToString() 生成,實際上是對一個128bit數字的十六進制輸出.
生成的字符由0-9和a-z這幾種字符組成,也可能會有“-”字符分割.
結果可能會是:7f44aed7-f8a4-4229-b64a-6a3e50d920e0
處理一下,去掉其中的“-”字符,剩下的是由32個阿拉伯數字和英文字母組成的串,再按自己的要求截取指定長度的字串.
截取8位:
結果為:7f44aed7
or (直接獲取)
string?strNewPW?=Guid.NewGuid().ToString("n")
第二種方法:
實現方法:
????{
????????//設定字符范圍為:大小寫字母及數字的隨機字符串.
????????string?strPwChar?=?"abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
????????//截取長度為8.
????????string?strNewPW?=?MakePassword(strPwChar,?8);?
????????Response.Write(strNewPW);
????}
????///?<summary>?
????///?生成隨機字符串
????///?</summary>?
????///?<param?name="strPwChar">傳入生成的隨機字符串可以使用哪些字符</param>
????///?<param?name="intlen">傳入生成的隨機字符串的長度</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;
????}?
結果為:Qk8JW61c
方法 MakePassword 接受兩個參數,strPwChar參數指定生成的隨機密碼串可以使用哪些字符,intlen指定生成的隨機密碼串的長度。有了這兩個參數,通過調用 Random 類的 Next() 方法,先獲得一個大于或等于 0 而小于?intlen?長度的整數,以該數作為索引值,從可用字符串中隨機取字符,以指定的密碼長度為循環次數,依次連接取得的字符,最后即得到所需的隨機密碼串了。?
轉載于:https://www.cnblogs.com/xiaoma-qi/p/5539302.html
總結
以上是生活随笔為你收集整理的ASP.NET中的随机密码生成的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM8启动分析及IAP
- 下一篇: java大数模板