全局唯一标识符(GUID)是一个伪随机字符串,由32个字母、数字(0-9)和4个分隔字母的连字符组成。这些字母是随机生成的。在概率论中,这个值是唯一的,可以用作秘密和会话cookie等。
示例GUID
下一行提供了一个GUID。如我们所见,有4个破折号将值分为5个部分。第一部分由6个字母组成,第二部分由4个字母组成,第三部分由4个字母组成,第四部分由4个字母组成,第五部分由12个字母组成。它们是随机生成的。
5c981150-9d1d-11e8-98fa-000c297195d3
在Linux中生成GUID
Linux提供了许多不同的工具来生成GUID。但最简单的默认安装工具之一是 uuidgen
. 我们只是发出如下命令。
$ uuidgen
在Windows中生成GUID
Windows操作系统(如Server 2008、20012、2016、7、8、10)能够在PowerShell、第三方工具等中生成GUID,但最集成、最快速的方法是使用实际使用.Net的PowerShell 我们已经检查过的图书馆 Generating GUID with C#
.
[guid]::NewGuid()
在Java中生成GUID
Java编程语言和软件开发包提供了很多不同类型的随机数生成和格式函数。我们可以用 util
班 randomUUID()
功能如下。
java.util.UUID.randomUUID();
在PHP中生成GUID
PHP有不同的方法来生成GUID。运行在Windows系统上的PHP可以使用 com_create_guid()
但是在Linux中,我们需要一些外部帮助。我们可以创建一个函数,在指定的范围和长度内生成随机数。我们将创建一个名为 GUID()
像下面这样注射 com_create_guid()
功能也一样。
另一种方法是使用 openssl
具有一些转换的函数。
bin2hex(openssl_random_pseudo_bytes(16));
在C中生成GUID#
C#是一种功能非常丰富且可靠的编程语言,具有有用的库。C#提供 NewGuid()
方法来创建一些GUID值。下面的代码段将创建一个GUID值
using System;class Example { public static void Main() { Guid g; g = Guid.NewGuid(); Console.WriteLine(g); Console.WriteLine(Guid.NewGuid()); }}
在Python中生成GUID
Python提供 uuid
模块中包含了很多关于唯一标识符的不同函数。我们可以用 uuid1()
在一行中轻松生成GUID。
$ python -c 'import uuid; print str(uuid.uuid1())'