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

Posted 每天进步多一点

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GUID转换成16位19位22位唯一字符串相关的知识,希望对你有一定的参考价值。

        /// <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;

 

GUID获取16位19位22位的唯一字符串

/// <summary>

    /// 根据GUID获取16位的唯一字符串

    /// </summary>

    /// <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位的唯一数字序列

    /// </summary>

    /// <returns></returns>

    public static long GuidToLongID()

    {

        byte[] buffer = Guid.NewGuid().ToByteArray();

        return BitConverter.ToInt64(buffer, 0);

    }

/// <summary>

    /// 生成22位唯一的数字 并发可用

    /// </summary>

    /// <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;

    }

以上是关于GUID转换成16位19位22位唯一字符串的主要内容,如果未能解决你的问题,请参考以下文章

GUID获取16位19位22位的唯一字符串

在java中怎么把32位字符串转成16位唯一的字符串

C#和sqlserver中生成新的32位GUID

Java中byte与16进制字符串的互相转换

Java中byte与16进制字符串的互相转换

java 以字符串获取的数组,怎么转成16位字符串?