Рубрики
Uncategorized

Как сгенерировать стандартный UUID (GUID) в PHP

Автор оригинала: David Wong.

UUID относится к номеру, сгенерированному на одной машине, что гарантирует, что он уникален для всех машин в одном и том же пространстве-времени.

Обычно платформа предоставляет API для генерации UUID. UUID рассчитывается в соответствии со стандартом, установленным Open Software Foundation (OSF), с использованием адреса карты Ethernet, наносекундного времени, идентификационного кода чипа и множества возможных номеров.

Он состоит из следующих частей: текущая дата и время (первая часть UUID связана со временем, если вы сгенерируете UUID через несколько секунд, первая часть отличается, остальные одинаковы), тактовая последовательность, глобально уникальный идентификационный номер машины IEEE (если есть сетевая карта, она получена с сетевой карты, и сетевая карта не получена другими способами), уникальное отсутствие UUID Ловушка в том, что полученная строка будет длиннее.

Наиболее распространенным использованием UUID являются идентификаторы guid Microsoft (глобальные уникальные идентификаторы).

В ColdFusion вы можете использовать функцию createuuid() для простого создания идентификаторов UUID. Формат: XXXX xxxx-xxxx-xxxx – XXXX XXXXXXXX x (8-4-4-16), где каждый x представляет собой шестнадцатеричное число в диапазоне 0-9 или a-f.

Стандартный формат UUID: XXXX xxxx-xxxx-xxxx-xxxxx-xxxxxxxx (8-4-4-4-12)

php



function guid(){
 if (function_exists('com_create_guid')){
  return com_create_guid();
 }else{
  mt_srand((double)microtime()*10000);//optional for php 4.2.0 and up.
  $charid = strtoupper(md5(uniqid(rand(), true)));
  $hyphen = chr(45);// "-"
  $uuid = chr(123)// "{"
    .substr($charid, 0, 8).$hyphen
    .substr($charid, 8, 4).$hyphen
    .substr($charid,12, 4).$hyphen
    .substr($charid,16, 4).$hyphen
    .substr($charid,20,12)
    .chr(125);// "}"
  return $uuid;
 }
}
echo guid();
?>

Выше приведено подробное объяснение и интеграция метода генерации стандартного UUID (GUID) в PHP, представленного вам Xiaobian в надежде помочь вам. Если у вас есть какие-либо вопросы, пожалуйста, оставьте мне сообщение, и Сяобянь ответит вам вовремя. Большое вам спасибо за поддержку разработанного бумажного сайта!