32位随机哈希值的简单解决方式GUID
程序员文章站
2022-07-14 19:53:55
...
最近一直碰到一些需要使用到唯一值的情况。本身想使用毫秒配合随机参数组合再进行md5编码。但是随机参数存在随机种子问题。在超高并发的情况下。还是会出现数值重复问题。遂在windows官方的docs中找解决方案。发现现在本身有一个东西叫GUID。以下为摘取概念。
GUID概念
GUID: 即Globally Unique Identifier(全球唯一标识符) 也称作 UUID(Universally Unique IDentifier) 。 GUID是一个通过特定算法产生的二进制长度为128位的数字标识符,用于指示产品的唯一性。GUID 主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。
在 Windows 平台上,GUID 广泛应用于微软的产品中,用于标识如如注册表项、类及接口标识、数据库、系统目录等对象。
尝试样例
常用的有两种情况。一种是带中间-符号的唯一值,也就是我们常见的注册表中的唯一值。另一种就是我们常见md5模式的32位连续的字符串
class Program
{
static void Main(string[] args)
{
//32位字符串
Console.WriteLine(System.Guid.NewGuid().ToString("N"));
//连字符分隔的32位字符串
Console.WriteLine(System.Guid.NewGuid().ToString("D"));
}
}
输出结果
//32位字符串
e544f01a1f40436988371ac010eeb948
//连字符分隔的32位字符串
4f10c0e7-75f8-4b18-9982-f6bb5e438235
上一篇: PHP随机获得一个字符串
推荐阅读