Introdução
Bem-vindo ao mundo da criptografia! Neste laboratório, você terá experiência prática com um dos conceitos mais fundamentais da segurança moderna: o hashing criptográfico. Especificamente, trabalharemos com o algoritmo SHA-256.
Uma função de hash criptográfica é um algoritmo matemático que recebe uma entrada (ou 'mensagem') de qualquer tamanho e retorna uma string de bytes de tamanho fixo. Este resultado é tipicamente um 'resumo' (digest) ou 'hash'. O SHA-256, por exemplo, sempre produz um hash de 256 bits (32 bytes).
Estas funções possuem várias propriedades importantes:
- Determinística: A mesma entrada sempre produzirá a mesma saída.
- Unidirecional (One-way): É computacionalmente inviável reverter a função e encontrar a entrada original a partir do seu hash.
- Efeito Avalanche: Uma pequena alteração na entrada (como mudar um único caractere) produzirá um hash de saída drasticamente diferente.
Ao longo deste laboratório, você usará a ferramenta de linha de comando openssl e um script Python simples para explorar essas propriedades e entender como o hashing é usado em cenários do mundo real, como verificar a integridade de arquivos e proteger senhas.



