Python es un lenguaje de programación interpretado y de propósito general. Es un lenguaje de programación orientado a objetos y de paradigmas procedimentales. Hay varios tipos de módulos importados en python como difflib, hashlib.
Módulos utilizados:
- difflib : Es un módulo que contiene una función que permite comparar conjuntos de datos.
- SequenceMatcher : se utiliza para comparar un par de secuencias de entrada.
Función utilizada:
- hash_file ( string $algo , string $filename , bool $binary = false ): Es una función que tiene el hash de un archivo.
- object.hexdigest(): Es una función que devuelve una string.
- fileObject.read(size): Es una función que devuelve el número especificado de bytes de un archivo.
Acercarse
- Módulo de importación
- Declare una función con 2 argumentos que es para el archivo.
- Declarar dos objetos para hashlib.sha1()
- Abrir archivos
- Lea el archivo dividiendo la línea en partes más pequeñas
- Ahora devuelva ambos archivos, como h1.hexdigest(), que es de 160 bits.
- Utilice la función hash_file() para almacenar el hash de un archivo.
- Comparar y generar el mensaje apropiado
Archivos en uso
Programa:
Python3
import hashlib from difflib import SequenceMatcher def hash_file(fileName1, fileName2): # Use hashlib to store the hash of a file h1 = hashlib.sha1() h2 = hashlib.sha1() with open(fileName1, "rb") as file: # Use file.read() to read the size of file # and read the file in small chunks # because we cannot read the large files. chunk = 0 while chunk != b'': chunk = file.read(1024) h1.update(chunk) with open(fileName2, "rb") as file: # Use file.read() to read the size of file a # and read the file in small chunks # because we cannot read the large files. chunk = 0 while chunk != b'': chunk = file.read(1024) h2.update(chunk) # hexdigest() is of 160 bits return h1.hexdigest(), h2.hexdigest() msg1, msg2 = hash_file("pd1.pdf ", "pd1.pdf") if(msg1 != msg2): print("These files are not identical") else: print("These files are identical")
Producción
Estos archivos no son idénticos.
Publicación traducida automáticamente
Artículo escrito por chetanjha888 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA