una uidd son significado saco saca que mexico los leer folio facturas factura electronica donde cual como uuid

uidd - significado uuid en facturas



¿Qué tipo de datos puedes extraer de un UUID? (6)

Sé que podríamos extraer fácilmente el número de versión de uuid. ¿Existe una forma confiable de extraer información como la marca de tiempo, la dirección MAC?

¡Gracias!


La herramienta uuid OSSP puede decodificar los UUID de todas las versiones. En los sistemas Linux basados ​​en Debian, puede usar apt-get install uuid para instalarlo; para otras distribuciones, el nombre del paquete puede ser diferente.

Para decodificar un UUID, use el indicador -d (decodificar):

uuid -d AAAAAAAA-BBBB-CCCC-DDDD-FFFFFFFFFFFF

Para los UUID de la versión 1, esto proporciona la dirección MAC y la marca de tiempo, ya que eso es lo que está en un uuid v1.


No es necesariamente una forma confiable, ya que dependiendo del tipo de UUID que sea, puede generarse totalmente a partir de bits aleatorios, o estar basado en la marca de tiempo, o basarse en la dirección MAC. Por lo tanto, es posible que pueda obtener parte de esa información, pero no puede garantizar que pueda obtener nada.

La referencia oficial para esto es RFC4122 , que probablemente debería darle suficiente información para extraer datos, aunque probablemente no deba confiar demasiado en ella.


Puede consultar la versión de Uuid, pero solo se puede confiar si está seguro de que Uuid es válido (consulte http://tools.ietf.org/html/rfc4122 ). La versión le dirá qué tipo de Uuid tiene, y con eso puede extraer información específica.


Si es un UUID de la versión 1, la dirección MAC serán los últimos doce dígitos hexadecimales.


Un UUID estándar puede ser una de varias variantes, se parece a esto:

AAAAAAAA-BBBB-CCCC-DDDD-FFFFFFFFFFFF

El primer dígito (hexadecimal) de la parte DDDD determina la variante.

Si es uno de 8,9, A, B cumple con la especificación actual (0-7 están reservados para compatibilidad con versiones anteriores, C, D están reservados para Microsoft y E, F están reservados para uso futuro)

Si cumple con la especificación actual, verifique el primer dígito de la parte CCCC que determina la versión de UUID:

  1. Basado en tiempo con identificador de host único o aleatorio (MAC)
  2. Versión de seguridad DCE (con UID POSIX)
  3. Basado en nombre (hash MD5)
  4. Aleatorio
  5. Basado en el nombre (hash SHA-1)

La versión 4 se elige simplemente al azar.

Las versiones 3 y 5 se generan mediante el hashing y la eliminación de algunos bits, lo que significa que básicamente no tiene ninguna posibilidad de recuperar ninguna información de ella. Los detalles sobre cómo construirlo se pueden encontrar en RFC4122 o en la página web de UUID Generator .

No pude encontrar ningún UUID de la versión 2, así que no comprobé cómo extraer los datos.

La versión 1 se genera a partir de una marca de tiempo y una dirección MAC del host actual. (El estándar también permite utilizar una dirección aleatoria en su lugar si configura el bit de "difusión / multidifusión" de la dirección MAC).

El siguiente perl cortado analiza la dirección MAC y la hora de un uuid de la versión 1:

my $uuid="AAAAAAAA-BBBB-CCCC-DDDD-FFFFFFFFFFFF"; $uuid=~tr/-//d; my $time_low=hex substr($uuid,2* 0,2*4); my $time_mid=hex substr($uuid,2* 4,2*2); my $version =hex substr($uuid,2* 6,1); my $time_hi =hex substr($uuid,2* 6+1,2*2-1); my $time=($time_hi*(2**16)+$time_mid)*(2**32)+$time_low; my $epoc=int($time /10000000) - 12219292800; my $nano=$time-int($time/10000000)*10000000; my $clk_hi =hex substr($uuid,2* 8,2*1); my $clk_lo =hex substr($uuid,2* 9,2*1); my $node =substr($uuid,2*10,2*6); $node=~/^(..)(..)(..)(..)(..)(..)$/ || die; $node="$1:$2:$3:$4:$5:$6"; print "time: ",scalar localtime $epoc," +",$nano/10000,"ms/n"; print "clock id: ",$clk_hi*256+$clk_lo,"/n"; print "Mac: $node/n"; my $byte=hex $1; if(hex($1)&1){ print "broadcast/multicast bit set./n"; };

Y por último, pero no menos importante, hay varios UUID asignados, por ejemplo, para particiones GPT .


Sé que podríamos extraer fácilmente el número de versión de uuid. ¿Existe una forma confiable de extraer información como la marca de tiempo, la dirección MAC?

Si y si; si el UUID es la versión 1 o la versión 2 (como se describe en RFC 4122). También hay una versión 4 (no RFC 4122) alternativa, denominada "COMB" que incluye una marca de tiempo (así como valores aleatorios) que pueden analizarse, y la fecha / hora de creación puede ser revelada.

Bono: Generador de UUID y GUID de Mahonri Moriancumer y análisis forense .