C# 批量生成隨機密碼必須包含數(shù)字和字母并用加密算法加密
要求:
密碼必須包含數(shù)字和字母
思路:
1.列出數(shù)字和字符。 組成字符串 :chars
2.利用randrom.Next(int i)返回一個小于所指定最大值的非負隨機數(shù)。
3. 隨機取不小于chars長度的隨機數(shù)a,取字符串chars的第a位字符。
4.循環(huán) 8次,得到8位密碼
5.循環(huán)N次,批量得到密碼。
代碼實現(xiàn)如下 Main函數(shù):
static void Main(string[] args) { string chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; Random randrom = new Random((int)DateTime.Now.Ticks); string path1 = @"C:\Users\lenovo\Desktop\pws.txt"; for (int j = 0; j < 10000;j++ ) { string str = ""; for (int i = 0; i < 8; i++) { str += chars[randrom.Next(chars.Length)];//randrom.Next(int i)返回一個小于所指定最大值的非負隨機數(shù) } if (IsNumber(str))//判斷是否全是數(shù)字 continue; if (IsLetter(str))//判斷是否全是字母 continue; File.AppendAllText(path1, str); string pws = Md5(str,32);//MD5加密 File.AppendAllText(path1, "," + pws + "\r\n"); } Console.WriteLine("ok"); Console.Read(); }
巧用String.trim 函數(shù),判斷是否全是數(shù)字,全是字母。
說明:string.trim 從 String 對象移除前導空白字符和尾隨空白字符。
返回:一個字符串副本,其中從該字符串的開頭和末尾移除了所有空白字符。
有一個重載:string.Trim(params char[] trimChars)
//從當前System.string對象移除數(shù)組中指定的一組字符的所有前導匹配項和尾部匹配項
trimChars:要刪除的字符數(shù)組
方法實現(xiàn)如下代碼:
//判斷是否全是數(shù)字 static bool IsNumber(string str) { if (str.Trim("0123456789".ToCharArray()) == "") return true; return false; } //判斷是否全是字母 static bool IsLetter(string str) { if (str.Trim("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".ToCharArray()) == "") return true; return false; }
用MD5加密,算法代碼實現(xiàn)如下:
/// <summary> /// MD5加密 /// </summary> /// <param name="str">加密字元</param> /// <param name="code">加密位數(shù)16/32</param> /// <returns></returns> public static string Md5(string str, int code) { string strEncrypt = string.Empty; MD5 md5 = new MD5CryptoServiceProvider(); byte[] fromData = Encoding.GetEncoding("GB2312").GetBytes(str); byte[] targetData = md5.ComputeHash(fromData); for (int i = 0; i < targetData.Length; i++) { strEncrypt += targetData[i].ToString("X2"); } if (code == 16) { strEncrypt = strEncrypt.Substring(8, 16); } return strEncrypt; }
生成批量密碼,和加密后的密碼如下圖:
以上所述是小編給大家介紹的C# 批量生成隨機密碼必須包含數(shù)字和字母并用加密算法加密,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對我們網(wǎng)站的支持!
欄 目:C#教程
本文標題:C# 批量生成隨機密碼必須包含數(shù)字和字母并用加密算法加密
本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/6002.html
您可能感興趣的文章
- 01-10C#獲取動態(tài)生成的CheckBox值
- 01-10基于C#實現(xiàn)簡單離線注冊碼生成與驗證
- 01-10C#.NET中如何批量插入大量數(shù)據(jù)到數(shù)據(jù)庫中
- 01-10基于C#實現(xiàn)簡單的隨機抽獎小程序
- 01-10基于C#生成條形碼操作知識匯總附源碼下載
- 01-10詳解C#設計模式編程中生成器模式的使用
- 01-10C# DateTime.ToString根據(jù)不同語言生成相應的時間格式
- 01-10理解C#生成驗證碼的過程
- 01-10基于C# 生成Zip壓縮包代碼
- 01-10C#實現(xiàn)Excel動態(tài)生成PivotTable


閱讀排行
本欄相關
- 01-10C#通過反射獲取當前工程中所有窗體并
- 01-10關于ASP網(wǎng)頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實現(xiàn)txt定位指定行完整實例
- 01-10WinForm實現(xiàn)仿視頻 器左下角滾動新
- 01-10C#停止線程的方法
- 01-10C#實現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實現(xiàn)讀取注冊表監(jiān)控當前操作系統(tǒng)已
隨機閱讀
- 01-10SublimeText編譯C開發(fā)環(huán)境設置
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10C#中split用法實例總結
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-10delphi制作wav文件的方法
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 04-02jquery與jsp,用jquery
- 01-10使用C語言求解撲克牌的順子及n個骰子