Saltar al contenido

¿Cómo generar un nuevo GUID?

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *