.net生成随机字符串

生成随机字符串的工具类:

    /// <summary>
    /// 随机字符串工具类
    /// </summary>
    public class RandomTools
    {

        /// <summary>
        /// 随机系数
        /// </summary>
        public static int _RandIndex = 0;

        #region 获取某个区间的一个随机数
        /// <summary>
        /// 获取某个区间的一个随机数
        /// </summary>
        /// <param name="minimum">开始区间</param>
        /// <param name="maximum">结束区间</param>
        /// <param name="length">小数点的位数</param>
        /// <param name="isSleep">是否线程睡眠</param>
        /// <param name="millisecondsTimeout">线程时间</param>
        /// <returns>返回某个区间的一个随机数</returns>
        public double GetRandomNumber(double minimum, double maximum, int length, bool isSleep = false, int millisecondsTimeout = 5)
        {
            if (isSleep)
            {
                System.Threading.Thread.Sleep(millisecondsTimeout);
            }
            Random random = new Random();
            return Math.Round((random.NextDouble() * (maximum - minimum) + minimum), length);
        }
        #endregion

        #region 生成数字随机数【随机数大小有区间限制】
        /// <summary>
        /// 数字随机数
        /// </summary>
        /// <param name="minNum">随机数的最小值</param>
        /// <param name="maxNum">随机数的最大值</param>
        /// <returns>从多少到多少之间的数据 包括开始不包括结束</returns>
        public static int RndInt(int minNum, int maxNum)
        {
            if (_RandIndex >= 1000000) _RandIndex = 1;
            Random rnd = new Random(DateTime.Now.Millisecond + _RandIndex);
            _RandIndex++;
            return rnd.Next(minNum, maxNum);
        }

        public static IList<int> RndInt(int num1, int num2, int len)
        {
            IList<int> list = new List<int>();
            for (int i = 0; i < len; i++) list.Add(RndInt(num1, num2));
            return list;
        }

        public static IList<int> RndInt(int len)
        {
            IList<int> list = RndInt(0, int.MaxValue, len);
            return list;
        }
        #endregion

        #region 生成数字随机数【随机数有长度的限制】
        /// <summary>
        /// 数字随机数
        /// </summary>
        /// <param name="length">生成长度</param>
        /// <returns>返回指定长度的数字随机串</returns>
        public static string RndNum(int length)
        {
            if (_RandIndex >= 1000000) _RandIndex = 1;
            char[] arrChar = new char[] { ‘0‘, ‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘ };
            StringBuilder num = new StringBuilder();
            Random rnd = new Random(DateTime.Now.Millisecond + _RandIndex);
            for (int i = 0; i < length; i++)
            {
                num.Append(arrChar[rnd.Next(0, 9)].ToString());
            }
            return num.ToString();
        }
        #endregion

        #region 生成日期随机字符串
        /// <summary>
        /// 日期随机函数
        /// </summary>
        /// <returns>返回日期随机串</returns>
        public static string RndDateStr()
        {
            return DateTime.Now.ToString("yyyyMMddHHmmssfff") + RandomTools.RndInt(1000, 9999).ToString();
        }
        public static IList<string> RndDateStr(int len)
        {
            IList<string> list = new List<string>();
            for (int i = 0; i < len; i++) list.Add(RndDateStr());
            return list;
        }

        #endregion

        #region 生成数字和字母的随机字符串
        /// <summary>
        /// 数字和字母随机数
        /// </summary>
        /// <param name="length">生成长度</param>
        /// <returns>返回指定长度的数字和字母的随机串</returns>
        public static string RndCode(int length)
        {
            if (_RandIndex >= 1000000) _RandIndex = 1;
            char[] arrChar = new char[]{
               ‘a‘,‘b‘,‘d‘,‘c‘,‘e‘,‘f‘,‘g‘,‘h‘,‘i‘,‘j‘,‘k‘,‘l‘,‘m‘,‘n‘,‘p‘,‘r‘,‘q‘,‘s‘,‘t‘,‘u‘,‘v‘,‘w‘,‘z‘,‘y‘,‘x‘,
               ‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,
               ‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘,‘G‘,‘H‘,‘I‘,‘J‘,‘K‘,‘L‘,‘M‘,‘N‘,‘Q‘,‘P‘,‘R‘,‘T‘,‘S‘,‘V‘,‘U‘,‘W‘,‘X‘,‘Y‘,‘Z‘};
            System.Text.StringBuilder num = new System.Text.StringBuilder();
            Random rnd = new Random(DateTime.Now.Millisecond + _RandIndex);
            for (int i = 0; i < length; i++)
            {
                num.Append(arrChar[rnd.Next(0, arrChar.Length)].ToString());
            }
            return num.ToString();
        }
        public static IList<string> RndCodeList(int len)
        {
            IList<string> list = new List<string>();
            for (int i = 0; i < len; i++) list.Add(RndCode(len));
            return list;
        }
        #endregion

        #region 生成字母的随机字符串
        /// <summary>
        /// 字母随机数
        /// </summary>
        /// <param name="length">生成长度</param>
        /// <returns>返回指定长度的字母随机数</returns>
        public static string RndLetter(int length)
        {
            if (_RandIndex >= 1000000) _RandIndex = 1;
            char[] arrChar = new char[]{
                ‘a‘,‘b‘,‘d‘,‘c‘,‘e‘,‘f‘,‘g‘,‘h‘,‘i‘,‘j‘,‘k‘,‘l‘,‘m‘,‘n‘,‘p‘,‘r‘,‘q‘,‘s‘,‘t‘,‘u‘,‘v‘,‘w‘,‘z‘,‘y‘,‘x‘,
                ‘_‘,
                ‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘,‘G‘,‘H‘,‘I‘,‘J‘,‘K‘,‘L‘,‘M‘,‘N‘,‘Q‘,‘P‘,‘R‘,‘T‘,‘S‘,‘V‘,‘U‘,‘W‘,‘X‘,‘Y‘,‘Z‘};
            StringBuilder num = new StringBuilder();
            Random rnd = new Random(DateTime.Now.Millisecond + _RandIndex);
            for (int i = 0; i < length; i++)
            {
                num.Append(arrChar[rnd.Next(0, arrChar.Length)].ToString());
            }
            return num.ToString();
        }
        public static IList<string> RndLetterList(int len)
        {
            IList<string> list = new List<string>();
            for (int i = 0; i < len; i++) list.Add(RndLetter(len));
            return list;
        }
        #endregion

        #region GetGuid
        /// <summary>
        /// 生成GUID
        /// </summary>
        /// <returns></returns>
        public static string GetGuid()
        {
            System.Guid g = System.Guid.NewGuid();
            return g.ToString();
        }
        public static IList<string> GetGuid(int len)
        {
            IList<string> list = new List<string>();
            for (int i = 0; i < len; i++) list.Add(GetGuid());
            return list;
        }
        #endregion

    }
时间: 2024-08-26 03:30:35

.net生成随机字符串的相关文章

[PHP]利用openssl_random_pseudo_bytes和base64_encode函数来生成随机字符串

openssl_random_pseudo_bytes函数本身是用来生成指定个数的随机字节,因此在使用它来生成随机字符串时,还需要配合使用函数base64_encode.如下所示: public static function getRandomString($length = 42) { /* * Use OpenSSL (if available) */ if (function_exists('openssl_random_pseudo_bytes')) { $bytes = openss

PHP 生成随机字符串与唯一字符串

说明:生成随机字符串用到的方法有 mt_rand() 生成唯一字符串用到的方法有 md5(),uniqid(),microtime() 代码: 1 <?php 2 /* 3 * 生成随机字符串 4 * @param int $length 生成随机字符串的长度 5 * @param string $char 组成随机字符串的字符串 6 * @return string $string 生成的随机字符串 7 */ 8 function str_rand($length = 32, $char =

SQL生成随机字符串

1.SQLserve生成随机字符串 SELECT replace(newid(), '-', '')

C# 生成随机字符串

#region 生成随机字符串 /// <summary> /// 生成随机字符串 /// </summary> /// <param name="codeCount"></param> /// <param name="allChar"></param> /// <returns></returns> public static string CreateRandomC

生成随机字符串的几种常用方式

写在前面 今天在学习数据库的时候想随机生成一些数据来插入到数据表中,但是一时想不起来如何生成随机内容,就整理了之前学过的一些生成随机字符串的命令,以备不时之需,希望对各位有所帮助. 生成随机字符串的几种方式 1,利用系统变量RANDOM生成随机数 [[email protected] ~]# echo $RANDOM  生成随机数 [[email protected] ~]# echo $((RANDOM%100+1)) 生成1-100内的随机数(取余法) 2,利用openssl生成随机字符串,

python 生成随机字符串 和随机数字

生成随机字符串: ''.join(random.sample(string.ascii_letters + string.digits, 8)) //字符串中不会重复 for _ in range(8): s += random.choice(string.ascii_letters + string.digits) //字符串可以重复 生成随机浮点数 random.uniform(10, 20) 生成随机整数 random.randint(12, 20) 原文地址:https://www.cn

PHP生成随机字符串与唯一字符串

代码如下: <?php /* * 生成随机字符串 * @param int $length 生成随机字符串的长度 * @param string $char 组成随机字符串的字符串 * @return string $string 生成的随机字符串 */ function str_rand($length = 32, $char = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') { if(!is_int($le

生成随机字符串

使用前需要加入commons-lang的支持 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.6</version> </dependency> //产生5位长度的随机字符串,中文环境下是乱码 String s1 = RandomStringUtils.ran

(2016-09-01)SQL批量生成随机字符串

/*----------------------------------批量生成随机的字符串----------------------------------*/ --如果在已知数据库中存在GetRandStr这个存储过程,则删除(为了方便反复执行这段代码) if exists(select * from sys.objects where name='GetRandStr' and type='P') drop proc GetRandStr go --随机字符串存储过程 create pr