如何生成随机不重复的8位字符串,字符串包括数字和字母?

xwk789789xwk 2011-02-10 02:48:42
各位好,向大家问个问题,如何生成随机不重复的8位字符串,字符串包括数字和字母
...全文
1390 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
妖食の残月 2011-02-10
  • 打赏
  • 举报
回复
不重复的话,可以利用时间戳,也可以利用36位进1或62位进1

基本的原理都是得到一个最大不会超过36的8次方(不区分大小写)或者不会超过62的8次方的一个整数,然后采用36位法或62位法,左边不足补0。
q107770540 2011-02-10
  • 打赏
  • 举报
回复
void Main()
{
string str = System.Guid.NewGuid().ToString("N").Substring(0,8);
Console.WriteLine(str);
}
dalmeeme 2011-02-10
  • 打赏
  • 举报
回复
		List<char> chars = new List<char>(62);
for (int i = 0; i < 10; i++)
chars.Add((char)('0' + i));
for (int i = 0; i < 26; i++)
chars.Add((char)('A' + i));
for (int i = 0; i < 26; i++)
chars.Add((char)('a' + i));
string result = "";
int index;
Random r = new Random();
for (int i = 0; i < 8; i++)
{
index = r.Next(chars.Count);
result += chars[index].ToString();
chars.RemoveAt(index);
}
Response.Write(result);
wuyq11 2011-02-10
  • 打赏
  • 举报
回复
System.Guid.NewGuid()
char[] arr="..".ToCharArray();
Random rand = new Random(Guid.NewGuid().GetHashCode());
for(int i=;i<arr.Length;i++)
{
result+=arr[rand.Next(0,arr.Length)];
}
kangjay1 2011-02-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xwk789789xwk 的回复:]
kangjay1 你好,你这个是网上搜索来的吧,这个我也有找过,不过发现里面会出现字符串重复这一问题
[/Quote] 你好,我搜索来的嘿嘿!
xwk789789xwk 2011-02-10
  • 打赏
  • 举报
回复
kangjay1 你好,你这个是网上搜索来的吧,这个我也有找过,不过发现里面会出现字符串重复这一问题
kangjay1 2011-02-10
  • 打赏
  • 举报
回复
 /// <summary>
/// 生成随机字母字符串(数字字母混和)
/// </summary>
/// <param name="codeCount">待生成的位数</param>
/// <returns>生成的字母字符串</returns>
private string GenerateCheckCode(int codeCount)
{
string str = string.Empty;
long num2 = DateTime.Now.Ticks + this.rep;
this.rep++;
Random random = new Random(((int)(((ulong)num2) & 0xffffffffL)) | ((int)(num2 >> this.rep)));
for (int i = 0; i < codeCount; i++)
{
char ch;
int num = random.Next();
if ((num % 2) == 0)
{
ch = (char)(0x30 + ((ushort)(num % 10)));
}
else
{
ch = (char)(0x41 + ((ushort)(num % 0x1a)));
}
str = str + ch.ToString();
}
return str;
}
sprc_lcl 2011-02-10
  • 打赏
  • 举报
回复
string str = System.Guid.NewGuid().ToString("N");//再截

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧