对文本文件PythonMD5中的每一行进行散列

2024-09-26 22:50:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个程序,它将打开一个文本文件,并为每行文本提供一个md5哈希。例如,我有一个文本文件,其中包含:

66090001081992
66109801042010
68340016052015
68450001062015
79450001062016

这是我的代码:

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



archivo_empleados.close()

Tags: 代码文本import程序txtopenmd5hashlib
1条回答
网友
1楼 · 发布于 2024-09-26 22:50:16

您可以使用with上下文管理器打开文件(不需要调用.close()),然后使用for循环迭代文件的每一行并打印MD5哈希字符串。在散列之前,还需要在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))

它给出如下所示的哈希字符串:

58d3ab1af1afd247a90b046d4fefa330
6dea9449f52e07bae45a9c1ed6a03bbc
9e2d8de8f8b3df8a7078b8dc12bb3e35
20819f8084927f700bd58cb8108aabcd
620596810c149a5bc86762d2e1924074

您可以查看documentation中的各种hashlib函数

相关问题 更多 >

    热门问题