Hashing

Definição

Definição

Hashing é o processo de transformar uma entrada de dados (de qualquer tamanho) em uma saída de tamanho fixo, geralmente representada por uma sequência de caracteres alfanuméricos.
Essa transformação é feita por uma função de hash, que aplica operações matemáticas determinísticas para gerar o valor.

O resultado gerado é chamado de hash, digest ou resumo.

Hashing gera uma impressão digital dos dados, sem possibilidade de recuperar o original.

Hashing é um conceito fundamental em segurança da informação, usado para validar a integridade de dados, armazenar senhas de forma segura e otimizar comparações.

Por que usar

  • Garantir integridade de dados: assegura que o conteúdo não foi alterado.
  • Armazenar senhas de forma segura: em vez de salvar a senha real, salva-se o hash.
  • Assinaturas digitais: dependem de hashing para gerar resumos das mensagens.
  • Comparações rápidas: hashes permitem comparar grandes volumes de dados de forma eficiente.

Exemplo prático (Python) — Gerar hash com SHA-256

import hashlib

# Mensagem original
mensagem = "Programício é incrível!"
mensagem_bytes = mensagem.encode()

# Gerar hash SHA-256
hash_objeto = hashlib.sha256(mensagem_bytes)
hash_gerado = hash_objeto.hexdigest()

print("Mensagem original:", mensagem)
print("Hash gerado:", hash_gerado)

Saída

Mensagem original: Programício é incrível!
Hash gerado: 1a7f70582a4a5c4206e38542c5ed7c3e8c9f4d3b19687937fd1943040e0e02f9

(O hash é sempre o mesmo para a mesma mensagem de entrada)

O ciclo do hashing

[Mensagem Original] --> (Função de Hash) --> [Hash Fixo]
  • Entrada: qualquer dado (texto, arquivo, etc.)

  • Função: aplica operações matemáticas para gerar o resumo.

  • Saída: valor de tamanho fixo, representando os dados originais.

Relacionados

Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com