C#利用时间和随即字符串创建唯一的订单编号
使用RNGCryptoServiceProvider类创建唯一的最多8位数字符串,再在前面拼接上年月日时分秒产生的字符串,最大限度的保证生成的字符串是唯一的。
大家也可以根据自己的需求修改,日期可以取值到毫秒,这样更能保证生成的字符串是唯一的。
privatestaticstringGetUniqueKey()
{
intmaxSize=8;
intminSize=5;
char[]chars=newchar[62];
stringa;
a="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
chars=a.ToCharArray();
intsize=maxSize;
byte[]data=newbyte[1];
RNGCryptoServiceProvidercrypto=newRNGCryptoServiceProvider();
crypto.GetNonZeroBytes(data);
size=maxSize;
data=newbyte[size];
crypto.GetNonZeroBytes(data);
StringBuilderresult=newStringBuilder(size);
foreach(bytebindata)
{
result.Append(chars[b%(chars.Length-1)]);
}
returnresult.ToString();
}
然后调用方法,如下做了演示,每次产生的结果都不一样
for(inti=0;i<10;i++)
{
stringstr=string.Format("{0}{1}",DateTime.Now.ToString("yyyyMMddHHmmss"),GetUniqueKey());
Console.WriteLine(str);
}
Console.ReadKey();
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短