(C#)生成指定长度的随机字符串的通用方法
.NET(C#)生成指定长度的随机字符串的通用方法,此方法可以指定字符串的长度,是否包含数字,是否包含符号,是否包含小写字母,是否包含大写字母等,
源码:
- #region 生成指定长度的随机字符串
- /// <summary>
- /// 生成指定长度的随机字符串
- /// </summary>
- /// <param name="intLength">随机字符串长度</param>
- /// <param name="booNumber">生成的字符串中是否包含数字</param>
- /// <param name="booSign">生成的字符串中是否包含符号</param>
- /// <param name="booSmallword">生成的字符串中是否包含小写字母</param>
- /// <param name="booBigword">生成的字符串中是否包含大写字母</param>
- /// <returns></returns>
- public string GetRandomizer(int intLength, bool booNumber, bool booSign, bool booSmallword, bool booBigword)
- {
- //定义
- Random ranA = new Random();
- int intResultRound = ;
- int intA = ;
- string strB = "";
- while (intResultRound < intLength)
- {
- //生成随机数A,表示生成类型
- //1=数字,2=符号,3=小写字母,4=大写字母
- intA = ranA.Next(, );
- //如果随机数A=1,则运行生成数字
- //生成随机数A,范围在0-10
- //把随机数A,转成字符
- //生成完,位数+1,字符串累加,结束本次循环
- if (intA == && booNumber)
- {
- intA = ranA.Next(, );
- strB = intA.ToString() + strB;
- intResultRound = intResultRound + ;
- continue;
- }
- //如果随机数A=2,则运行生成符号
- //生成随机数A,表示生成值域
- //1:33-47值域,2:58-64值域,3:91-96值域,4:123-126值域
- if (intA == && booSign == true)
- {
- intA = ranA.Next(, );
- //如果A=1
- //生成随机数A,33-47的Ascii码
- //把随机数A,转成字符
- //生成完,位数+1,字符串累加,结束本次循环
- if (intA == )
- {
- intA = ranA.Next(, );
- strB = ((char)intA).ToString() + strB;
- intResultRound = intResultRound + ;
- continue;
- }
- //如果A=2
- //生成随机数A,58-64的Ascii码
- //把随机数A,转成字符
- //生成完,位数+1,字符串累加,结束本次循环
- if (intA == )
- {
- intA = ranA.Next(, );
- strB = ((char)intA).ToString() + strB;
- intResultRound = intResultRound + ;
- continue;
- }
- //如果A=3
- //生成随机数A,91-96的Ascii码
- //把随机数A,转成字符
- //生成完,位数+1,字符串累加,结束本次循环
- if (intA == )
- {
- intA = ranA.Next(, );
- strB = ((char)intA).ToString() + strB;
- intResultRound = intResultRound + ;
- continue;
- }
- //如果A=4
- //生成随机数A,123-126的Ascii码
- //把随机数A,转成字符
- //生成完,位数+1,字符串累加,结束本次循环
- if (intA == )
- {
- intA = ranA.Next(, );
- strB = ((char)intA).ToString() + strB;
- intResultRound = intResultRound + ;
- continue;
- }
- }
- //如果随机数A=3,则运行生成小写字母
- //生成随机数A,范围在97-122
- //把随机数A,转成字符
- //生成完,位数+1,字符串累加,结束本次循环
- if (intA == && booSmallword == true)
- {
- intA = ranA.Next(, );
- strB = ((char)intA).ToString() + strB;
- intResultRound = intResultRound + ;
- continue;
- }
- //如果随机数A=4,则运行生成大写字母
- //生成随机数A,范围在65-90
- //把随机数A,转成字符
- //生成完,位数+1,字符串累加,结束本次循环
- if (intA == && booBigword == true)
- {
- intA = ranA.Next(, );
- strB = ((char)intA).ToString() + strB;
- intResultRound = intResultRound + ;
- continue;
- }
- }
- return strB;
- }
- #endregion
读取数据:
- private void button1_Click(object sender, EventArgs e)
- {
- foreach (var file in Directory.GetFiles("E:\\renew", "*.txt").Where(t => t.ToLower().EndsWith(".txt")).ToList())
- {
- using (StreamReader reader = new StreamReader(file, Encoding.UTF8))
- {
- string strLine = string.Empty;
- while ((strLine = reader.ReadLine()) != null)
- {
- renewModel.Content = strLine;
- renewBLL.Add(renewModel);
- }
- }
- }
- }
写入数据:
- private void button2_Click(object sender, EventArgs e)
- {
- StreamWriter sw = new StreamWriter(@"E:\test.txt", true, Encoding.UTF8);
- List<string> list = new List<string>();
- while ( == )
- {
- string str = "CCKD";
- str += GetRandomizer(, true, false, false, true);
- if (!list.Contains(str))
- {
- list.Add(str);
- sw.WriteLine(str);
- sw.Flush();
- }
- if (list.Count== )
- break;
- }
- sw.Close();
- }
(C#)生成指定长度的随机字符串的通用方法的更多相关文章
- commons-text 生成指定长度的随机字符串
package com.skylink.junge.demo; import java.util.HashSet; import java.util.Set; import org.apache.co ...
- Java生成固定长度的随机字符串(以大小写字母和数字)
package org.jimmy.autosearch2019.test; import java.util.ArrayList; import java.util.Random; /** * @a ...
- js 格式化时间、字符串指定长度、随机字符串
格式化字符串长度 方法 function formatWidth(str, width){ str += '' if(str.length<width) '+str, width) else r ...
- Python--随机生成指定长度的密码
在浏览别人博客时学习了random模块,手痒自我练习下,写个随机生成指定长度的密码字符串的函数,拿出来供各位参考: 废话不多说,上代码: # coding: utf-8 import random i ...
- 随机生成指定长度字符字符串(C语言实现)
相关函数 srand(), rand()头文件#include<stdlib.h> 定义函数 int rand(void) 函数说明 rand()会返回一随机数值,范围在0至RAND_MA ...
- 随机生成指定长度的密码之---Random
随机生成指定长度的密码思路: 1.密码中可能包含字母,数字,特殊符号,为了区别分别定义常量 2.随机生成密码,自然想到要用到java.util.Random 类 3.定义一个带两个参数的方法,1跟2, ...
- JS生成指定长度的随机数
/** * 生成指定长度的UUID * @param len * @param radix * @returns uuid * eg: createUUID(8, 2) "01001010& ...
- javascript生成指定范围的随机整数
JavaScript有提供一个生成值区间在(0, 1)的随机小数的函数. Math.random(); // 0.10529863457509858 如果你和喜欢的人一起执行这个函数,之后生成的随机小 ...
- shell生成指定长度的随机数
生成指定长度是随机数 # 8位纯数字的随机数 tr -cd '0-9' </dev/urandom | head -c 8 # 16位包含字母.数字的随机数 tr -cd '[:alnum:]' ...
随机推荐
- mysql5.7通过json类型替代关联表
学校表: 1 create table school( 2 `id` bigint unsigned primary key not null auto_increment, 3 `name` var ...
- mssql server 数据库帮助类
using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Web ...
- MAC Homebrew安装和简单使用
前言: 这个周六日在刚刚买的macbookpro(系统版本是:10.13.5)上面安装angular,一开始是按照windows上的顺序安装的,先安装node.js,然后在安装angular的时候报错 ...
- Github远程仓库提交代码步骤
1.克隆远程仓库 1)当没有设置默认目录时 git clone 仓库地址 本地存放目录 //没有目录的情况 2)当设置了本地存放目录时 先打开路径,命令: ...
- element UI 下拉菜单滚动监听(vue指令)
直接看代码吧,可以直接粘贴此代码到你的编辑器中看效果. <template> <div class="page-component"> <div cl ...
- Java 8 Lambda 表达式(二)
lambdas 实现 Runnable 接口 下面是使用 lambdas 来实现 Runnable 接口的示例: // 1.1使用匿名内部类 new Thread(new Runnable() { @ ...
- Linux恢复误删除的文件或者目录(转)
linux不像windows有个回收站,使用rm -rf *基本上文件是找不回来的. 那么问题来了: 对于linux下误删的文件,我们是否真的无法通过软件进行恢复呢? 答案当然是否定的,对于误删的文件 ...
- 2018 ICPC南京网络赛 L Magical Girl Haze 题解
大致题意: 给定一个n个点m条边的图,在可以把路径上至多k条边的权值变为0的情况下,求S到T的最短路. 数据规模: N≤100000,M≤200000,K≤10 建一个立体的图,有k层,每一层是一份原 ...
- Debug程序的使用
一.什么是Debug程序: Debug是DOS, Windows(但是Win7 64位没有,8 10不清楚.)都提供的实模式程序的调试工具, 使用它,可以查看CPU各种寄存器中的内容,内存的情况和在机 ...
- VirtualBox安装Archlinux并配置桌面环境
最近无聊,就找来archlinux来玩一玩,去archlinux wiki上看了一下教程.以下是操作过程. 1. 下载镜像,下载地址; 2. 启动archlinux并选择Boot Arch Linux ...