- A primeira commit é gerenciada para começar com o hash
0000000 e a segunda com 0000001, aumentando assim para que a numeração fique intuitivamente visível
- Para encontrar esses valores de cabeçalho de hash, é preciso inserir dados lixo na mensagem de commit para ajustar o hash SHA-1
- Em um MacBook, usando a ferramenta
githashcrash, é possível encontrar um cabeçalho de hash de 8 caracteres em 5 minutos, e de 6 caracteres em menos de 1 segundo
- Isso é automatizado com
bash-glue sob o nome git linearize
lucky-commit é usado como backend de geração de hash e, com GPU, pode gerar até 20x mais rápido
→ O lucky-commit modifica a mensagem de commit usando caracteres de espaço em branco invisíveis, em vez de texto lixo, então visualmente também não fica ruim
9 comentários
Interessante haha, com os 8 primeiros caracteres, os dados lixo também não ficam tão longos.
kkkkkk... fico muito curioso para saber o que o Linus diria se visse isso..
Algo meio parecido com calcular o valor de nonce em blockchain....
Era só usar svn que os números de revisão iam se acumulando de forma bem organizada......
Perdoe a observação, mas se o primeiro é 0000000, o segundo não seria 0000001? Acho que houve um erro de digitação kkk..
Eca, hehe, já corrigi.
Dá até para sentir um nível de perfeccionismo quase obsessivo.
Ainda assim, é admirável que você tenha tido a ideia e a colocado em prática.
Será que é só brute force?
Parece mineração de Bitcoin kkk
faça do github uma bolsa de valores!