C# 批量生成随机密码必须包含数字和字母并用加密算法加密
要求:
密码必须包含数字和字母
思路:
1.列出数字和字符。 组成字符串 :chars
2.利用randrom.Next(int i)返回一个小于所指定最大值的非负随机数。
3. 随机取不小于chars长度的随机数a,取字符串chars的第a位字符。
4.循环 8次,得到8位密码
5.循环N次,批量得到密码。
代码实现如下 Main函数:
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)返回一个小于所指定最大值的非负随机数 } if (IsNumber(str))//判断是否全是数字 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 函数,判断是否全是数字,全是字母。
说明:string.trim 从 String 对象移除前导空白字符和尾随空白字符。
返回:一个字符串副本,其中从该字符串的开头和末尾移除了所有空白字符。
有一个重载:string.Trim(params char[] trimChars)
//从当前System.string对象移除数组中指定的一组字符的所有前导匹配项和尾部匹配项
trimChars:要删除的字符数组
方法实现如下代码:
//判断是否全是数字 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加密,算法代码实现如下:
/// <summary> /// MD5加密 /// </summary> /// <param name="str">加密字元</param> /// <param name="code">加密位数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# 批量生成随机密码必须包含数字和字母并用加密算法加密,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
栏 目:C#教程
本文标题:C# 批量生成随机密码必须包含数字和字母并用加密算法加密
本文地址:https://www.xiuzhanwang.com/a1/C_jiaocheng/6002.html
您可能感兴趣的文章
- 01-10C#获取动态生成的CheckBox值
- 01-10基于C#实现简单离线注册码生成与验证
- 01-10C#.NET中如何批量插入大量数据到数据库中
- 01-10基于C#实现简单的随机抽奖小程序
- 01-10基于C#生成条形码操作知识汇总附源码下载
- 01-10详解C#设计模式编程中生成器模式的使用
- 01-10C# DateTime.ToString根据不同语言生成相应的时间格式
- 01-10理解C#生成验证码的过程
- 01-10基于C# 生成Zip压缩包代码
- 01-10C#实现Excel动态生成PivotTable
阅读排行
本栏相关
- 01-10C#通过反射获取当前工程中所有窗体并
- 01-10关于ASP网页无法打开的解决方案
- 01-10WinForm限制窗体不能移到屏幕外的方法
- 01-10WinForm绘制圆角的方法
- 01-10C#实现txt定位指定行完整实例
- 01-10WinForm实现仿视频播放器左下角滚动新
- 01-10C#停止线程的方法
- 01-10C#实现清空回收站的方法
- 01-10C#通过重写Panel改变边框颜色与宽度的
- 01-10C#实现读取注册表监控当前操作系统已
随机阅读
- 01-10SublimeText编译C开发环境设置
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 01-10C#中split用法实例总结
- 01-11ajax实现页面的局部加载
- 01-10delphi制作wav文件的方法
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 04-02jquery与jsp,用jquery
- 01-10使用C语言求解扑克牌的顺子及n个骰子