C#利用时间和随即字符串创建唯一的订单编号

作者:Darren Ji 时间:2022-01-21 15:18:56 

使用RNGCryptoServiceProvider类创建唯一的最多8位数字符串,再在前面拼接上年月日时分秒产生的字符串,最大限度的保证生成的字符串是唯一的。

大家也可以根据自己的需求修改,日期可以取值到毫秒,这样更能保证生成的字符串是唯一的。


private static string GetUniqueKey()
{
 int maxSize = 8;
 int minSize = 5;
 char[] chars = new char[62];
 string a;
 a = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
 chars = a.ToCharArray();
 int size = maxSize;
 byte[] data = new byte[1];
 RNGCryptoServiceProvider crypto = new RNGCryptoServiceProvider();
 crypto.GetNonZeroBytes(data);
 size = maxSize;
 data = new byte[size];
 crypto.GetNonZeroBytes(data);
 StringBuilder result = new StringBuilder(size);
 foreach (byte b in data)
 {
   result.Append(chars[b % (chars.Length - 1)]);
 }
 return result.ToString();
}


然后调用方法,如下做了演示,每次产生的结果都不一样




for (int i = 0; i < 10; i++)
{
 string str = string.Format("{0}{1}", DateTime.Now.ToString("yyyyMMddHHmmss"), GetUniqueKey());
 Console.WriteLine(str);
}
Console.ReadKey();

标签:C#,唯一,编号
0
投稿

猜你喜欢

  • Java实现删除排序数组中重复元素的方法小结【三种方法比较】

    2023-09-28 15:21:48
  • Spring整合Quartz实现定时任务调度的方法

    2023-07-07 00:55:55
  • Activiti开发环境的搭建过程详解

    2021-08-16 07:13:05
  • 详解SpringBoot多跨域请求的支持(JSONP)

    2023-09-21 04:12:54
  • 详解 Java Maximum redirects (100) exceeded

    2023-08-05 21:03:47
  • 自己实现Android View布局流程

    2022-07-10 22:20:26
  • Java微信公众平台开发(14) 微信web开发者工具使用

    2023-01-30 19:21:34
  • 详解Java对象的强、软、弱和虚引用+ReferenceQueue

    2021-11-30 16:23:01
  • C#编程实现向并口设备发送指令、获取并口设备的状态

    2023-02-02 02:56:39
  • JVM致命错误日志详解(最新推荐)

    2023-08-22 07:42:30
  • 解析Java中的static关键字

    2022-03-02 17:15:35
  • Java与kotlin详细对比

    2022-04-13 23:26:47
  • java去除字符串中的空格、回车、换行符、制表符的小例子

    2022-04-13 12:33:44
  • 老生常谈java中cookie的使用

    2023-11-11 04:37:59
  • c# AES字节数组加密解密流程及代码实现

    2021-12-11 21:44:20
  • 在Eclipse中使用版本管理工具SVN的图文教程

    2022-07-21 17:39:51
  • C#获取真实IP地址(IP转为长整形、判断是否内网IP的方法)

    2022-01-31 08:50:06
  • C#实现的算24点游戏算法实例分析

    2021-12-01 04:13:21
  • Java微信公众平台开发(15) 微信JSSDK的使用

    2023-06-16 19:58:39
  • java基于包结构的请求路由实现实例分享

    2021-10-23 13:10:18
  • asp之家 软件编程 m.aspxhome.com