其他分享
首页 > 其他分享> > .NET 生成大量不重复,不可猜测,固定长度的优惠码

.NET 生成大量不重复,不可猜测,固定长度的优惠码

作者:互联网

        private static String[] chars = new String[]{"a", "b", "c", "d", "e", "f",
            "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",
            "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5",
            "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I",
            "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V",
            "W", "X", "Y", "Z"};

        /// <summary>
        /// 生成优惠券的唯一编码(32位的Guid,每4位处理变成1位,结果变成8位的优惠券编码)
        /// </summary>
        /// <returns></returns>
        public static String createcoupon()
        {
            StringBuilder shortBuffer = new StringBuilder();
            string strguid = Guid.NewGuid().ToString("N");
            for (int i = 0; i < 8; i++)
            {
                String str = strguid.Substring(i * 4,4);
                int x = Convert.ToInt32(str,16);
                
                shortBuffer.Append(chars[x % chars.Length]);
            }
            return shortBuffer.ToString();

        }

 

标签:String,int,chars,shortBuffer,static,strguid,长度,NET,猜测
来源: https://blog.csdn.net/wdyllff/article/details/100280866