散列文本文件中的每一行 Python MD5
Hash each line in Text file Python MD5
我正在尝试编写一个程序,它将打开一个文本文件并为每行文本提供一个 md5 哈希。例如我有一个文本文件:
66090001081992
66109801042010
68340016052015
68450001062015
79450001062016
这是我的代码:
import hashlib
hasher = hashlib.md5()
archivo_empleados = open("empleados.txt","rb")
lista = (archivo_empleados.readlines())
archivo_empleados.close()
您可以使用 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
函数。
我正在尝试编写一个程序,它将打开一个文本文件并为每行文本提供一个 md5 哈希。例如我有一个文本文件:
66090001081992
66109801042010
68340016052015
68450001062015
79450001062016
这是我的代码:
import hashlib
hasher = hashlib.md5()
archivo_empleados = open("empleados.txt","rb")
lista = (archivo_empleados.readlines())
archivo_empleados.close()
您可以使用 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
函数。