PHP生成GUID

释放双眼,带上耳机,听听看~!

        GUID: 即Globally Unique Identifier(全球唯一标识符) 也称作 UUID(Universally Unique IDentifier) 。 GUID是一个通过特定算法产生的二进制长度为128位的数字标识符,用于指示产品的唯一性。GUID 主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符

       GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个32位十六进制数。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即为有效的 GUID 值。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
1<?
2
3// 三段
4// 一段是微秒 一段是地址 一段是随机数
5class Guid
6{
7   //$key  三段  (地址.微秒.随机数)
8   private $key;
9   private $value;
10  private $name = 'localhost';
11  private $ip   = '127.0.0.1';
12 
13  function __construct(){
14      $this->name = $_SERVER["SERVER_NAME"];
15      $this->ip   = $_SERVER["SERVER_ADDR"];
16  }
17 
18  /**
19   * 根据当前时间戳返回字符串
20   */
21  static function currentTimeMillis()
22  {
23      list($usec, $sec) = explode(" ",microtime());
24      return $sec.substr($usec, 2, 3);
25  }
26 
27  /**
28   * 生成随机数
29   */
30  static function nextLong()
31  {
32      $tmp = rand(0,1)?'-':"";
33      return $tmp.rand(1000, 9999).rand(1000, 9999).rand(1000, 9999).rand(100, 999).rand(100, 999);
34  }
35 
36  function toString()
37  {
38      return strtolower($this->name.'/'.$this->ip);
39  }
40 
41  /**
42   * 生成GUID
43   */
44  private function createGuid()
45  {
46      $this->key = $this->toString().':'.self::currentTimeMillis().':'.self::nextLong();
47      $this->value = md5($this->key);
48  }
49 
50    /**
51     * 获取GUID,把生成的32位MD5值分割显示
52     * @return string
53     */
54  public function getGuid()
55  {
56      $this->createGuid();
57      $raw = strtoupper($this->value);
58      return substr($raw,0,8).'-'.substr($raw,8,4).'-'.substr($raw,12,4).'-'.substr($raw,16,4).'-'.substr($raw,20);
59  }
60}
61
62$Guid = new Guid();
63echo $Guid->getGuid();
64

537507A5-7439-EF59-C408-A31B1AD8F82C

来自: 链接地址

给TA打赏
共{{data.count}}人
人已打赏
安全技术

c++编码规范

2022-1-11 12:36:11

安全经验

python爬虫Pragmatic系列IV

2021-10-11 16:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索