English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico do Python

Controle de fluxo do Python

Funções no Python

Tipos de Dados do Python

Operações de arquivo do Python

Objetos e classes do Python

Data e hora do Python

Conhecimento avançado do Python

Manual de referência do Python

Programa Python para encontrar o valor de hash de um arquivo

Manual de exemplos do Python

Neste artigo, você aprenderá a encontrar o valor de hash de um arquivo e mostrá-lo.

Para entender este exemplo, você deve saber o seguinteProgramação PythonTema:

A função de hashing obtém uma quantidade arbitrária de dados e retorna uma string de bits de comprimento fixo. A saída da função é chamada de mensagem resumo.

Eles são amplamente usados em criptografia para autenticação. Existem muitos algoritmos de hash, como MD5,SHA-1etc. Consulte esta página para obter informações sobrefunções de hash em criptografia.Mais informações.

Neste exemplo, mostraremos como realizar o hash de um arquivo. Usaremos SHA-1algoritmos de hash. SHA-1O comprimento do resumo é16bits.

Nós não fornecemos todos os dados do arquivo de uma vez, porque alguns arquivos são muito grandes e não podem ser colocados em memória toda de uma vez. Dividir o arquivo em pedaços melhorará a eficiência da memória do processo.

Código-fonte do hash

# Python programa para encontrar o SHA do arquivo1resumo de mensagem
# Importar módulo hashlib
import hashlib
def hash_file(filename):
   """ Esta função retorna SHA-1Hash
    passando para ele o arquivo """
   # Criar um objeto de hash
   h = hashlib.sha1()
   # Abrir arquivo no modo binário para leitura
   with open(filename, 'rb') as file:
       # Loop até o final do arquivo
       chunk = 0
       while chunk != b''
           # Ler uma vez apenas1024bytes
           chunk = file.read(1024)
           h.update(chunk)
   # Retornar a representação hexadecimal do resumo
   return h.hexdigest()
message = hash_file("track"1.mp3")
print(message)

Resultados de saída

633d7356947eec543c50b76a1852f92427f4dca9

Neste programa, abrimos o arquivo no modo binário. As funções de hash estão disponíveis no módulo hashlib. Usamos um loop while até o final do arquivo. Ao chegarmos ao final, obtemos um objeto de bytes vazio.

Em cada iteração, lemos apenas1024bytes (este valor pode ser alterado conforme necessário) e atualizamos a função de hash.

Por fim, usamos o método hexdigest() para retornar a mensagem resumida na forma hexadecimal.

Manual de exemplos do Python