¿Qué es un GUID / UUID?
Un día sin más me tope con el acrónimo GUID, para Globally Unique Identifier, mientras que UUID es un acrónimo para Universally Unique Identifier. En ambos casos, se refiere a un número único generado al azar que se utiliza para identificar de manera única un recurso o objeto en un sistema informático. Estos identificadores se utilizan comúnmente en aplicaciones, bases de datos y en la tecnología de la información en general. Por lo que surge la duda de:
¿Dónde se usa los GUID / UUID?
Resulta que los GUID / UUID se utilizan en una amplia variedad de aplicaciones y sistemas informáticos. Algunos de los usos más comunes incluyen:
- Identificación de registros en bases de datos: se utilizan para identificar de manera única cada registro en una base de datos.
- Identificación de objetos en sistemas de archivos: se utilizan para identificar de manera única cada objeto en un sistema de archivos.
- Identificación de aplicaciones o componentes: se utilizan para identificar de manera única cada aplicación o componente en un sistema informático.
- Identificación de dispositivos en una red: se utilizan para identificar de manera única cada dispositivo en una red.
- Identificación de sesiones en aplicaciones web: se utilizan para identificar de manera única cada sesión en una aplicación web.
En resumen, los GUID / UUID se utilizan en muchas aplicaciones y sistemas informáticos para identificar de manera única recursos y objetos.
¿Dónde se origino el GUID / UUID?
El concepto de identificadores únicos globales (GUID) se originó en el sistema operativo Windows, donde se introdujo por primera vez en Windows 95. Desde entonces, el formato de GUID se ha vuelto ampliamente utilizado en muchos sistemas operativos y aplicaciones informáticas diferentes.
El concepto de identificadores únicos universales (UUID) se originó en el estándar de la industria ISO/IEC 11578:1996. Este estándar define un formato de identificador de 128 bits que se puede utilizar para generar identificadores únicos a nivel mundial.
En resumen, el concepto de GUID se originó en el sistema operativo Windows, mientras que el concepto de UUID se originó en un estándar de la industria. Aunque los términos se utilizan a veces de manera intercambiable, los GUID y UUID son conceptos ligeramente diferentes.
¿cómo se crea un GUID / UUID?
Un GUID / UUID se crea generando un número al azar de un tamaño específico, normalmente de 128 bits. El número generado al azar se representa en formato hexadecimal y se asegura de que sea único a nivel mundial utilizando diversos mecanismos, como la incorporación de una dirección MAC de un adaptador de red o el tiempo de generación del GUID.
Hay varias formas de generar un GUID / UUID, dependiendo del sistema operativo o la plataforma que se esté utilizando. Por ejemplo, en Microsoft Windows, puede utilizar la función CoCreateGuid en la API de Component Object Model (COM) para generar un GUID. En lenguajes de programación como Java, puede utilizar la clase java.util.UUID para generar un UUID.
En resumen, la generación de un GUID / UUID implica generar un número al azar y asegurarse de que sea único a nivel mundial. Hay diversas formas de generar un GUID / UUID, dependiendo del sistema o plataforma que se esté utilizando.
¿Cómo genero un GUID / UUID?
En cualquier lenguaje de programación algunos ejemplos de sintaxis son:
Código en java para generar el GUID / UUID
import java.util.UUID; UUID uuid = UUID.randomUUID(); String guid = uuid.toString();
Código en python para generar el GUID / UUID
import uuid guid = str(uuid.uuid1())
Código en C# para generar el GUID / UUID
using System; Guid guid = Guid.NewGuid();
En resumen, puede generar un GUID / UUID en muchos lenguajes de programación utilizando funciones incorporadas o bibliotecas específicas. La sintaxis específica depende del lenguaje de programación que se esté utilizando.
¿Cómo se garantiza que es unico a nivel mundial el GUID / UUID?
Se garantiza la unicidad a nivel mundial de un GUID / UUID a través de la combinación de diversos factores. Algunos de estos factores incluyen:
- Tamaño: el tamaño de 128 bits de un GUID / UUID significa que hay un número extremadamente grande de posibles combinaciones, lo que reduce el riesgo de colisión.
- Fuentes de entropía: los GUID / UUID se generan a partir de fuentes de entropía, como el tiempo de generación, la dirección MAC de un adaptador de red, o el contenido de la memoria RAM, para aumentar la probabilidad de que sean únicos.
- Asignación centralizada: en algunos casos, los GUID / UUID se asignan y administran por una entidad centralizada, como un servidor de tiempo, para garantizar la unicidad a nivel mundial.
En resumen, la unicidad a nivel mundial de un GUID / UUID se garantiza a través de la combinación de un tamaño grande, fuentes de entropía diversas y, en algunos casos, asignación centralizada.
¿Quíen invento el GUID / UUID?
El concepto de GUID / UUID fue inventado por DCE (Distributed Computing Environment), un consorcio de empresas liderado por OSF (Open Software Foundation) y formado por empresas como IBM, DEC y HP. La primera especificación del formato UUID fue publicada por DCE en 1996.
Desde entonces, el formato UUID se ha utilizado ampliamente en diferentes aplicaciones y sistemas informáticos, y se ha adoptado como estándar por muchos grupos de estandarización, como ISO y IETF. Sin embargo, el crédito por la invención original del concepto de GUID / UUID se atribuye a DCE.
Ventajas
- Unicidad: Una de las principales ventajas de GUID y UUID es su capacidad de generar identificadores únicos a nivel mundial y en una amplia gama de dispositivos y aplicaciones. Esto garantiza que no haya duplicaciones de identificadores, lo que puede ser esencial en aplicaciones que requieren una gestión rigurosa de los datos.
- Portabilidad: GUID y UUID se pueden utilizar en una amplia gama de dispositivos y sistemas operativos, lo que los hace ideales para aplicaciones que deben ser utilizadas en diferentes plataformas.
- Seguridad: Los identificadores generados por GUID y UUID son difíciles de predecir o falsificar, lo que los hace útiles en aplicaciones que requieren una alta seguridad, como la autenticación de usuarios o la protección de datos sensibles.
- Facilidad de uso: GUID y UUID son fáciles de generar y utilizar, lo que los hace ideales para aplicaciones que requieren una gestión eficiente de los identificadores.
Aplicaciones de terceros
También existen herramientas de terceros que permiten generar estos identificadores únicos: