11 puntos por xguru 2022-11-24 | 9 comentarios | Compartir por WhatsApp
  • La forma de gestionarlo consiste en hacer que el primer commit empiece con el hash 0000000 y el segundo con 0000001, de modo que los números se vean de forma intuitiva
  • Para encontrar estos valores de encabezado del hash, hay que insertar datos basura en el mensaje del commit para ajustar el hash SHA-1
  • En una MacBook, usando la herramienta githashcrash, se puede encontrar un encabezado de hash de 8 caracteres en 5 minutos, y uno de 6 caracteres en menos de 1 segundo
  • Esto se automatiza con bash-glue bajo el nombre git linearize
  • Se usa lucky-commit como backend de generación de hashes, y con GPU puede generarse 20x más rápido
    lucky-commit modifica el mensaje del commit usando caracteres de espacio en blanco invisibles en lugar de texto basura, así que visualmente tampoco se ve mal

9 comentarios

 
edunga1 2022-11-24

Qué curioso jaja, si son los primeros 8 caracteres, los datos basura tampoco quedan tan largos.

 
bbulbum 2022-11-24

jajaja... tengo muchísima curiosidad por saber qué diría Linus si viera esto..

 
ruinnel 2022-11-24

Algo así como calcular el valor nonce de una blockchain....

 
kallare 2022-11-24

Si solo usaran svn, los números de revisión se irían acumulando ordenadamente...

 
mse9000 2022-11-24

Perdón por decirlo, pero si el primero es 0000000, ¿no debería ser 0000001 el segundo? Parece que hay un error tipográfico jaja..

 
xguru 2022-11-24

Uf jaja, ya lo corregí.

 
nicewook 2022-11-24

Ya roza lo obsesivo.
Aun así, es impresionante que se le haya ocurrido la idea y la haya llevado a la práctica.
¿Será simplemente brute-force?

 
kandk 2022-11-24

Parece un método de minería de Bitcoin jajaja

 
galadbran 2022-11-24

¡github como bolsa de intercambio!