11 points par xguru 2022-11-24 | 9 commentaires | Partager sur WhatsApp
  • Une méthode qui consiste à faire en sorte que le premier commit commence par le hash 0000000, puis le deuxième par 0000001, afin que la numérotation soit visible de façon intuitive
  • Pour trouver de telles valeurs d’en-tête de hash, il faut ajuster le hash SHA-1 en insérant des données parasites dans le message de commit
  • Sur MacBook, avec l’outil githashcrash, on peut trouver un préfixe de hash de 8 caractères en 5 minutes, et de 6 caractères en moins d’une seconde
  • Le tout est automatisé avec bash-glue sous le nom git linearize
  • lucky-commit est utilisé comme backend de génération de hash, et avec un GPU, la génération peut être 20x plus rapide
    → Comme lucky-commit modifie le message de commit avec des espaces invisibles plutôt qu’avec du texte parasite, le résultat reste visuellement acceptable

9 commentaires

 
edunga1 2022-11-24

C'est amusant, haha. Avec les 8 premiers caractères, les données parasites ne sont même pas si longues.

 
bbulbum 2022-11-24

Mdr... je suis vraiment curieux de savoir ce que Linus dirait s’il voyait ça..

 
ruinnel 2022-11-24

Ça ressemble un peu... au calcul de la valeur de nonce dans la blockchain.

 
kallare 2022-11-24

Autant utiliser svn, au moins les numéros de révision s’empileraient proprement......

 
mse9000 2022-11-24

Sauf votre respect, si le premier est 0000000, le deuxième ne devrait-il pas être 0000001 ? Il semble qu’il y ait une faute de frappe, haha...

 
xguru 2022-11-24

Oups, hehe, c’est corrigé.

 
nicewook 2022-11-24

On sent presque une forme de maniaquerie. Mais c'est tout de même impressionnant d'avoir eu l'idée puis de l'avoir mise en œuvre. Est-ce simplement du brute-force ?

 
kandk 2022-11-24

On dirait du minage de bitcoin, haha.

 
galadbran 2022-11-24

Faites de GitHub une place de marché !