Ха sh каждая строка в текстовом файле Python MD5 - PullRequest
1 голос
/ 26 марта 2020

Я пытаюсь написать программу, которая откроет текстовый файл и даст мне md5 га sh для каждой строки текста. Например, у меня есть текстовый файл с:

66090001081992
66109801042010
68340016052015
68450001062015
79450001062016

Это мой код:

import hashlib
hasher = hashlib.md5()
archivo_empleados = open("empleados.txt","rb")
lista = (archivo_empleados.readlines())



archivo_empleados.close()

1 Ответ

0 голосов
/ 26 марта 2020

Вы можете открыть файл с помощью диспетчера контекста with (не нужно вызывать .close()), затем выполнить итерацию каждой строки файла с помощью for l oop и распечатать MD5 га * 1016. * строка Вы также должны кодировать в utf-8 перед хэшированием.

import hashlib

def compute_MD5_hash(string, encoding='utf-8'):
    md5_hasher = hashlib.md5()
    md5_hasher.update(string.encode(encoding))
    return md5_hasher.hexdigest()

with open("path/to/file") as f:
    for line in f:
        print(compute_MD5_hash(line))

, что дает ха sh строки, подобные следующим:

58d3ab1af1afd247a90b046d4fefa330
6dea9449f52e07bae45a9c1ed6a03bbc
9e2d8de8f8b3df8a7078b8dc12bb3e35
20819f8084927f700bd58cb8108aabcd
620596810c149a5bc86762d2e1924074

Вы можете взглянуть на различные функции hashlib в документации .

...