vean ultima quitar que poner para ocultar linea hacer falsa estoy estar conexion como aplicacion aparecer java uuid

java - ultima - ¿Qué tan seguro es eliminar el "-" en un UUID generado aleatoriamente?



ocultar en linea whatsapp iphone (6)

¿Qué tan seguro es eliminar el "-" en el UUID generado?

Es 100% seguro ya que los guiones no son parte del valor. El UUID de cadena es una representación hexadecimal de un valor de 128 bits. Los guiones están ahí solo para fines de visualización, por lo que los UUID serán un poco más fáciles para los ojos.

Solo tenga cuidado al pasar los UUID en forma de String a sistemas externos como API externas, bases de datos y cosas de esa naturaleza. Pueden estar esperando que los guiones estén allí.

Tengo este codigo

String uuid = UUID.randomUUID().toString().replace("-", "");

¿Qué tan seguro es eliminar el "-" en el UUID generado? ¿Eliminarlo eliminaría el propósito de ser globalmente único y haría que el UUID generado sea propenso a colisiones?


Digamos que quiero llamar a la Casa Blanca. Su número de teléfono es (202) 456-1111. Si elimino todos los guiones y paréntesis de ese número de teléfono, me quedo con 2024561111. No perdí ninguna información durante el proceso de hacer esto, solo cambié el formato de una manera que hace que sea más difícil de leer. Si introduzco este número en mi teléfono, seguirá haciendo la llamada correctamente porque el sistema telefónico aún sabe que los primeros tres dígitos son el código de área y los siguientes siete son el número principal.

De la misma manera, los guiones en un UUID son como la puntuación adicional en un número de teléfono: se incluyen para que sea más fácil para un humano leer un número grande subyacente. En los UUID, ese número tiene una longitud de 128 bits y está escrito en hexadecimal, por lo que, a diferencia de un número de teléfono, es menos "obviamente" un número, pero el principio básico es el mismo. Eliminar los guiones no cambiará el número y, por lo tanto, no afectará la seguridad.

Ahora, lo que podría suceder es que al hacerlo se rompe la compatibilidad de formato entre plataformas. Volvamos a la analogía del número de teléfono. Algunos sitios web que he usado no me permiten escribir 2024561111 como número de teléfono. Insistirán en que ponga espacios, guiones y paréntesis, como en (202) 456-1111. (No soy un fanático de sitios como ese, pero esa es otra historia). Por lo tanto, eliminar los guiones de su UUID podría ser un problema si necesita pasar una representación de cadena del UUID en algún otro proceso o servicio que esté esperando el Formato completo, incluyendo las comas.


El UUID es un número de 128 bits. Los cuatro bits del dígito M indican la versión UUID, y los uno a tres bits más significativos del dígito N indican la variante UUID. La codificación binaria de UUIDs varía entre sistemas. Muchos sistemas codifican el UUID completamente en un formato big-endian.


El UUID es un número de 128 bits.

El formato en hexadecimal con guiones es solo una representación de visualización para consumo humano. Es una de las varias representaciones de pantalla posibles, y el formato de pantalla, con o sin guiones, NO es el UUID en sí.


Los guiones en un UUID correctamente formado no se colocan aleatoriamente en la cadena, es un formato específico detallado en los RFC: http://www.ietf.org/rfc/rfc4122.txt

Por lo tanto, eliminar los guiones no afectará la singularidad del UUID.

Sin embargo, puede causar problemas con las bibliotecas que esperan que los guiones como parte de un UUID lo validen como un UUID.

¿Por qué quieres eliminarlos?


Puedes verificar cómo se crea la cadena leyendo el javadoc :

UUID = <time_low> "-" <time_mid> "-" <time_high_and_version> "-" <variant_and_sequence> "-" <node> time_low = 4*<hexOctet> time_mid = 2*<hexOctet> time_high_and_version = 2*<hexOctet> variant_and_sequence = 2*<hexOctet> node = 6*<hexOctet>

Así que eliminar el - está bien, puede reinsertarlos en la posición correcta más adelante si lo desea, o recrear un objeto UUID que contenga la misma información.

Respecto a la singularidad: .com/questions/1155008/how-unique-is-uuid