GUID获取16位19位22位的唯一字符串
Posted guzhengtao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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位的唯一字符串的主要内容,如果未能解决你的问题,请参考以下文章