La guía o código que verás en este post es la resolución más eficiente y efectiva que hallamos a esta inquietud o problema.
Solución:
Puedes intentar lo siguiente:
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));
Fuente – com_create_guid
Como alternativa a las opciones anteriores:
$guid = bin2hex(openssl_random_pseudo_bytes(16));
da un string me gusta 412ab7489d8b332b17a2ae127058f4eb
Según ¿Hay alguna diferencia entre un GUID y un UUID?
GUID es la implementación de Microsoft del estándar UUID.
Entonces, aquí hay un enlace a las bibliotecas, que le permite crear UUID de los siguientes tipos:
- versión 1 (basada en el tiempo)
- versión 3 (basada en el nombre y cifrada con MD5)
- versión 4 (aleatoria)
- versión 5 (basada en el nombre y cifrada con SHA1)
https://github.com/search?p=1&q=uuid+php&ref=cmdform&type=Repositorios
No sé exactamente cuál está usando C#, pero eso es al menos algo que puede usar si está escribiendo algún software y desea tener identificadores únicos universales.
Mi elección preferida fue https://github.com/fredriklindberg/class.uuid.php porque es solo un archivo PHP simple y el más calificado (https://github.com/ramsey/uuid) tenía muchas dependencias en otras bibliotecas, pero la suya puede cambiar pronto (consulte https://github.com/ramsey/uuid/issues/20).
Pero si realmente necesita un GUID (según el estándar de Microsoft), tienen un proceso de generación diferente al de estos 4122. Wikipedia afirma que
Los GUID y los UUID de RFC 4122 deben ser idénticos cuando se muestran textualmente
http://en.wikipedia.org/wiki/Globally_Unique_Identifier#Binary_encoding
En la mayoría de los casos, debería estar bien con una de las librerías de PHP para UUID. No creo que te estés entrometiendo Modelo de objetos componentes de Microsoft (COM)¿no?
Tienes la opción de añadir valor a nuestra información dando tu experiencia en las interpretaciones.