zoukankan      html  css  js  c++  java
  • 随机数生成器

     public static class RandomHelper
        {
            /// <summary>
            /// 随机数生成器
            /// </summary>
            public static Random Generator { get; } = new Random(SystemRandomInt());
    
            /// <summary>
            /// 使用RNGCryptoServiceProvider生成真正随机的二进制数据
            /// </summary>
            public static byte[] SystemRandomBytes()
            {
                byte[] bytes = System.Guid.NewGuid().ToByteArray();
                return bytes;
            }
    
            /// <summary>
            /// 使用RNGCryptoServiceProvider生成真正随机的整数
            /// </summary>
            public static int SystemRandomInt()
            {
                return BitConverter.ToInt32(SystemRandomBytes(), 0);
            }
    
    
    
            /// <summary>
            /// 生成10位数的编号
            /// </summary>
            public static string GenerateSerial()
            {
                //把guid转换为两个long int
                byte[] bytes = System.Guid.NewGuid().ToByteArray();
                UInt64 high = System.BitConverter.ToUInt64(bytes, 0);
                UInt64 low = System.BitConverter.ToUInt64(bytes, 8);
                //转换为10位数字
                UInt64 mixed = ((high ^ low) % 8999999999) + 1000000000;
                return mixed.ToString();
            }
    
            public static string GenerateOrderId()
            {
                long id = DateTime.Now.Ticks - DateTime.Parse("2017/01/01").Ticks;
                return id.ToString("D10");
            }
    
            /// <summary>
            /// 生成随机字符串
            /// </summary>
            /// <param name="length">字符串长度</param>
            /// <param name="chars">包含的字符,默认是a-zA-Z0-9</param>
            /// <returns></returns>
    
            public static string RandomString(int length, string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
            {
                var buffer = new char[length];
                for (int n = 0; n < length; ++n)
                {
                    buffer[n] = chars[Generator.Next(chars.Length)];
                }
                return new string(buffer);
            }
        }
  • 相关阅读:
    mybatis 乐观锁和逻辑删除
    JAVA实现DES加密实现详解
    axios 全攻略之基本介绍与使用(GET 与 POST)
    Ajax json 数据格式
    CentOS 7安装Hadoop 3.0.0
    <p>1、查询端口号占用,根据端口查看进程信息</p>
    CentOS查询端口占用和清除端口占用的程序
    Spring Boot Maven 打包可执行Jar文件!
    linux下运行jar
    maven 工程mybatis自动生成实体类
  • 原文地址:https://www.cnblogs.com/marshhu/p/6780153.html
Copyright © 2011-2022 走看看