Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import hashlib
- #O tamanho do buffer determina quantos bytes serão lidos por vez
- bufferSize = 65536 #65536 bytes equivalem a 64 kb, o tamanho é facultativo
- # PS: O tamanho faz a diferença na hora de fazer o hash de arquivos grandes,
- # por isso foi utilizado um buffer
- #Apenas declara os objetos dos tipos de hash
- md5 = hashlib.md5()
- sha1 = hashlib.sha1()
- sha224 = hashlib.sha224()
- sha256 = hashlib.sha256()
- sha384 =hashlib.sha384()
- sha512 = hashlib.sha512()
- #Abre o arquivo apenas para leitura
- arquivo = open(input("\nEscolha um arquivo: "), 'rb')
- #Atualiza todos os hashes ao mesmo tempo, senão necessitaríamos retornar o ponteiro do arquivo para o ponto inicial
- while True: #Laço para ler os bytes do arquivo e atualizar os hashes
- data = arquivo.read(bufferSize) #Lê do arquivo a quantidade de bytes determinada
- if not data: #Se não houver mais dados a serem lidos ele sai do laço
- break
- md5.update(data) #Atualiza os hashes
- sha1.update(data)
- sha224.update(data)
- sha256.update(data)
- sha384.update(data)
- sha512.update(data)
- print("\nHashes do arquivo:")
- print(" MD5: {0}".format(md5.hexdigest()))
- print(" SHA1: {0}".format(sha1.hexdigest()))
- print("SHA224: {0}".format(sha224.hexdigest()))
- print("SHA256: {0}".format(sha256.hexdigest()))
- print("SHA384: {0}".format(sha384.hexdigest()))
- print("SHA512: {0}".format(sha512.hexdigest()))
- arquivo.close() #Fecha o arquivo
- input("\nAperte ENTER para sair...")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement