阅读量:2
在python中,hashlib模块提供了很多哈希算法,例如MD5、SHA-1、SHA-256等。如果要按行生成hash值,可以按照以下步骤进行操作:
导入hashlib模块:
import hashlib
。打开文件或者从其他地方获取文本数据。
遍历每一行数据。
对每一行数据进行哈希运算。
将每一行的哈希值存储到一个列表中。
下面是一个示例代码,演示如何按行生成MD5哈希值:
import hashlib def generate_hash(file_path): hash_list = [] with open(file_path, 'r') as file: for line in file: line = line.strip() # 去除行末的换行符和空格 hash_value = hashlib.md5(line.encode()).hexdigest() hash_list.append(hash_value) return hash_list file_path = 'data.txt' hash_list = generate_hash(file_path) print(hash_list)
上面的代码中,generate_hash
函数接受一个文件路径作为参数,然后使用with open
语句打开文件,并逐行读取数据。
对于每一行数据,使用hashlib.md5()
创建一个MD5哈希对象,然后使用encode()
方法将字符串转换为字节类型,最后使用hexdigest()
方法获取哈希值的十六进制表示。
将每一行的哈希值添加到hash_list
列表中,并在最后返回该列表。
在示例代码中,假设文件名为"data.txt",可以根据实际情况进行修改。运行代码后,会打印出每一行数据的MD5哈希值列表。