GUID转换成16位、19位、22位唯一字符串

发布时间 2023-05-03 20:48:49作者: 每天进步多一点
        /// <summary>
        /// 依据GUID获取16位的唯一字符串       
        /// <param name=\"guid\"></param>
        /// <returns></returns>
        public static string GuidTo16String()
        {
            long i = 1;
            foreach (byte b in Guid.NewGuid().ToByteArray())
                i *= ((int)b + 1);
            return string.Format("{0:x}", i - DateTime.Now.Ticks);
        }
/// <summary> /// 依据GUID获取19位的唯一数字序列 /// <returns></returns> public static long GuidToLongID() { byte[] buffer = Guid.NewGuid().ToByteArray(); return BitConverter.ToInt64(buffer, 0); }
/// <summary> /// 生成22位唯一的数字 并发可用 /// <returns></returns> public static string GenerateUniqueID() { System.Threading.Thread.Sleep(1); //保证yyyyMMddHHmmssffff唯一 Random d = new Random(BitConverter.ToInt32(Guid.NewGuid().ToByteArray(), 0)); string strUnique = DateTime.Now.ToString("yyyyMMddHHmmssffff") + d.Next(1000, 9999); return strUnique; }