This article has been translated from English to Brazilian.

Como funciona o hashing?

Na lição anterior, apresentei o conceito de hashing e os termos relevantes. Agora, vamos aprender como ele funciona!

O hashing é uma operação matemática fácil de executar, mas extremamente difícil de reverter.

O processo de hashing transforma uma parte dos dados em código binário, que é apenas um conjunto de 0s e 1s.

Em seguida, ele divide os números e aplica um "jumbling" secreto, que é feito por algo chamado "função de hash".

Como o hashing funciona na criptografia?

Quando usado no Bitcoin e em outras criptomoedas, o resultado final é normalmente uma sequência longa de 64 dígitos de números e letras.

Como a conversão é feita por um algoritmo criptográfico (a "função de hash"), a fórmula de junção é desconhecida, de modo que a cadeia de 64 dígitos não pode ser revertida.

Hashing Concept

Uma cadeia é uma sequência de caracteres.

As cadeias de caracteres são como frases. Elas são formadas por uma combinação de caracteres.

String

Pense em um hash como um conjunto de letras e números aleatórios.

Uma parte única de dados sempre produzirá o mesmo hash.

Por exemplo, toda vez que a cadeia de caracteres acima for executada por meio da função de hash, ela sempre produzirá o mesmo hash.

Mas o que acontece se fizermos apenas uma pequena alteração na cadeia de caracteres? (Destacado em amarelo.)

String Change

A frase termina com um ponto de interrogação em vez de um ponto final.

Apesar de ter sido uma alteração mínima na frase, o hash é TOTALMENTE diferente.

Você pode ver como o uso de hashes pode ser usado para detectar adulterações, pois mesmo uma pequena alteração na entrada da função hash resulta em um resultado totalmente diferente.

É muito importante que você se lembre desse ponto porque, em uma lição posterior, você verá como isso é usado para evitar que transações anteriores sejam adulteradas.

A função hash é apenas de sentido único.

The hash function is ONE-WAY only.

Você não pode pegar um hash existente e tentar revertê-lo para encontrar a string de entrada.

Portanto, se tudo o que você sabe é o hash, não há como saber qual é a entrada original. Você não pode fazer "engenharia reversa" ou hackear o hash.

Por fim, o comprimento do resultado (o "hash") NÃO aumenta com o aumento das informações na entrada. Uma função de hash recebe dados de entrada de QUALQUER tamanho e retorna um valor que tem um tamanho FIXO.

Hash Output is Fixed

Se você colocar o texto inteiro de um livro do Harry Potter, que tem mais de 76.000 palavras, o resultado do hash AINDA terá apenas 64 caracteres.

E, mais uma vez, se você digitar incorretamente uma única letra do livro do Harry Potter e passar pela função de hash, ela produzirá um hash totalmente diferente do anterior.

Isso permitiria que você soubesse instantaneamente que o livro foi modificado sem precisar inspecionar manualmente o livro inteiro! Muito legal, não é?