Python Checksum
-
Use a função
hashlib.md5()
para gerar e verificar asoma de verificação
de um arquivoMD5
em Python -
Use o Módulo
os
para gerar e verificar asoma de verificação
de um arquivoMD5
em Python
Quando se trata de qualquer linguagem de programação popular e bem-sucedida, o hashing prova ser uma parte essencial dela. Um desses componentes de hashing é realmente importante e significativamente relevante na programação do dia-a-dia, chamado checksum.
Este artigo discutirá a soma de verificação e como gerá-la para um arquivo MD5
.
Checksums
são utilizados em Python para fins de detecção de erros em um arquivo. Eles têm a tarefa básica de validar os dados de um determinado arquivo. Embora seja bastante semelhante, ele difere do hashing embutido fornecido pelo Python de uma forma que é determinista.
Use a função hashlib.md5()
para gerar e verificar a soma de verificação
de um arquivo MD5
em Python
O módulo hashlib
é utilizado para implementar uma interface comum para vários digest de mensagens diferentes e algoritmos de hash seguros. Para implementar este método com sucesso, precisamos importar o módulo hashlib
para o código Python.
Aqui, usaremos principalmente a função hashlib.md5()
, junto com as funções update()
e hexdigest()
para atualizar e retornar um valor hexadecimal respectivamente.
O código a seguir usa a função hashlib.md5()
para gerar e verificar a soma de verificação
de um arquivo MD5
em Python.
import hashlib
def md5(file1):
md5h = hashlib.md5()
with open(file1, "rb") as f:
for chunk in iter(lambda: f.read(4096), b""):
md5h.update(chunk)
return md5h.hexdigest()
Devemos observar que este código retornará uma string hexadecimal
que representa o resumo fornecido. Usar apenas a função digest()
retornará os bytes compactados. O programador pode usar qualquer uma dessas funções tendo em mente a saída desejada.
Use o Módulo os
para gerar e verificar a soma de verificação
de um arquivo MD5
em Python
O módulo os
em Python fornece acesso a várias funções que ajudam na interação com o sistema operacional. O módulo os
é vasto e contém vários módulos, todos eles utilizados para diferentes finalidades.
Aqui, baixamos uma imagem aleatória e então calculamos sua soma de verificação para MD5
, usando uma função python que criamos, e então a comparamos com a soma de verificação gerada com a ajuda de comandos Unix.
A definição da função para a função get_checksum()
:
import hashlib
def get_checksum(filename, hash_function):
"""Generate checksum for file based on hash function (MD5).
Args:
filename (str): Path to file that will have the checksum generated.
hash_function (str): Hash function name - supports MD5
Returns:
str`: Checksum based on Hash function of choice.
Raises:
Exception: Invalid hash function is entered.
"""
hash_function = hash_function.lower()
with open(filename, "rb") as f:
bytes = f.read()
if hash_function == "md5":
readable_hash = hashlib.md5(bytes).hexdigest()
else:
Raise("{} is an invalid hash function. Please Enter MD5 value")
return readable_hash
O código a seguir usa a função get_checksum()
definida acima junto com o módulo os
para gerar e verificar a soma de verificação
de um arquivo MD5
em Python.
import os
pic = "g_circle-300x300.png"
resmd5 = get_checksum(pic, "md5")
os.system("md5 {}".format(pic))
print("Hash Function: MD5 - Filename: {}".format(resmd5))
Embora MD5
seja amplamente utilizado, recentemente foi descoberto que ele está quebrado e contém muitos defeitos. O processo de geração e verificação da soma de verificação
de um arquivo pode ser muito arriscado e não é recomendado o uso de um arquivo MD5
para este propósito.
Além disso, um arquivo MD5
não é realmente o seu melhor se você precisa de algo criptograficamente protegido, pois isso não é apenas adequado.
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn