Intereting Posts
Почему отображается это предупреждение: «Получена проблема 2 в узком парсере»? Где соль хранится для password_hash? как заставить хром не перезагружать изображения с тем же URL-адресом, пока страница не обновится, как firefox Замена акцентированных символов php file_get_contents (): операция SSL завершилась неудачно с кодом 1 (проверка сертификата не удалась) Сбор значений столбцов в массив Загрузка и извлечение изображения из облачного хранилища Google в PHP Как декодировать «Content-Encoding: gzip, gzip» с помощью curl? php-cgi.exe завершает работу после 500 ударов Nginx – скрипты PHP, не вызываемые из обратного прокси Несколько приложений, использующих одно и то же ядро ​​CakePHP Как работает PHP max_execution_time? Как открыть различную информацию для каждого созданного мною полигона? Google maps api v3 Может кто-нибудь помочь мне отправить почту в PHP? Опубликуйте ответ на комментарий в Facebook, используя cURL PHP / Graph API

Как создать новый GUID?

Я работаю над веб-сервисом, который требует нового GUID() переданного в качестве ссылки на метод внутри службы.

Я не знаком с GUID() object C# или GUID() object , но для PHP требуется нечто подобное, поэтому создайте новый объект, который из моего понимания возвращает empty/blank GUID ).

Есть идеи?

Вы можете попробовать следующее:

 function GUID() { if (function_exists('com_create_guid') === true) { return trim(com_create_guid(), '{}'); } return sprintf('%04X%04X-%04X-%04X-%04X-%04X%04X%04X', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(16384, 20479), mt_rand(32768, 49151), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535)); } 

Источник – com_create_guid

В качестве альтернативы вышеуказанным параметрам:

 $guid = bin2hex(openssl_random_pseudo_bytes(16)); 

Он дает строку типа 412ab7489d8b332b17a2ae127058f4eb

В соответствии с различием между GUID и UUID?

GUID – это реализация Microsoft стандарта UUID.

Итак, вот ссылка на библиотеки, которые позволяют создавать UUID следующих типов:

  • версия 1 (по времени)
  • версия 3 (основанная на имени и хешированная с MD5)
  • версия 4 (случайная)
  • версия 5 (основанная на имени и хешированная с SHA1)

https://github.com/search?p=1&q=uuid+php&ref=cmdform&type=Repositories

Я не знаю точно, какой C # использует, но это, по крайней мере, то, что вы можете использовать, если пишете какую-то часть программного обеспечения и хотите иметь универсальные уникальные идентификаторы.

Мой привилегированный выбор был https://github.com/fredriklindberg/class.uuid.php, потому что это всего лишь простой файл PHP, а самый рейтинговый ( https://github.com/ramsey/uuid ) должен был сильно зависеть от другие библиотеки, но он может скоро измениться (см. https://github.com/ramsey/uuid/issues/20 ).

Но если вам действительно нужен GUID (в соответствии со стандартом Microsoft), у них есть другой процесс генерации, чем у этих 4122. Wikipedia утверждает, что

GUID и RFC 4122 UUID должны быть идентичны при отображении текста

http://en.wikipedia.org/wiki/Globally_Unique_Identifier#Binary_encoding

В большинстве случаев вы должны быть в порядке, перейдя на одну из библиотек PHP для UUID. Я не думаю, что вы вмешиваетесь в Microsoft Component Object Model (COM) , не так ли?

 <?php function guid(){ if (function_exists('com_create_guid') === true) return trim(com_create_guid(), '{}'); $data = openssl_random_pseudo_bytes(16); $data[6] = chr(ord($data[6]) & 0x0f | 0x40); $data[8] = chr(ord($data[8]) & 0x3f | 0x80); return vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex($data), 4)); } ?> 

Генератор GUID

Для гуглеров, таких как я, я нашел этот снайпер более точным:

 function getGUID(){ 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; } } 

источник http://guid.us/GUID/PHP