Cómo calcular la suma de verificación de un archivo en Python
Cómo calcular el checksum de un archivo en Python.
Aquí tienes un tutorial paso a paso sobre cómo calcular el checksum de un archivo en Python.
Paso 1: Importar los módulos necesarios
Para calcular el checksum de un archivo, necesitamos importar el módulo hashlib, que proporciona varios algoritmos de hashing.
import hashlib
Paso 2: Abrir el archivo
A continuación, necesitamos abrir el archivo para el cual queremos calcular el checksum. Podemos usar la función open() en Python para hacer esto. Toma dos argumentos: el nombre del archivo y el modo en el que se debe abrir el archivo. Abriremos el archivo en modo binario ('rb') para asegurarnos de que se lea como datos binarios.
filename = 'ruta/hacia/tu/archivo.ext'
with open(filename, 'rb') as file:
# Código para el cálculo del checksum va aquí
Reemplaza 'ruta/hacia/tu/archivo.ext' con la ruta real de tu archivo.
Paso 3: Inicializar el algoritmo de hashing
Para calcular el checksum, necesitamos inicializar el algoritmo de hashing. Podemos elegir entre varios algoritmos proporcionados por el módulo hashlib, como MD5, SHA-1, SHA-256, etc. En este ejemplo, usaremos el algoritmo SHA-256.
hash_algorithm = hashlib.sha256()
Paso 4: Leer el archivo en bloques y actualizar el checksum
Para calcular el checksum, leeremos el archivo en bloques y actualizaremos el checksum para cada bloque. Esto es útil para archivos grandes, ya que evita cargar el archivo completo en memoria a la vez.
block_size = 4096
for block in iter(lambda: file.read(block_size), b''):
hash_algorithm.update(block)
Aquí, block_size representa el tamaño de cada bloque. Puedes elegir un valor adecuado según tus requisitos.
Paso 5: Obtener el checksum final
Después de leer todo el archivo y actualizar el checksum, podemos obtener el valor de checksum final utilizando el método hexdigest().
checksum = hash_algorithm.hexdigest()
print(f"El checksum de {filename} es: {checksum}")
El método hexdigest() devuelve el checksum como una cadena hexadecimal.
Ejemplo de código completo
Aquí tienes el ejemplo de código completo que puedes usar para calcular el checksum de un archivo:
import hashlib
filename = 'ruta/hacia/tu/archivo.ext'
hash_algorithm = hashlib.sha256()
with open(filename, 'rb') as file:
block_size = 4096
for block in iter(lambda: file.read(block_size), b''):
hash_algorithm.update(block)
checksum = hash_algorithm.hexdigest()
print(f"El checksum de {filename} es: {checksum}")
Reemplaza 'ruta/hacia/tu/archivo.ext' con la ruta real de tu archivo.
¡Eso es todo! Has calculado con éxito el checksum de un archivo en Python.