hashlib怎么按行生成hash值

avatar
作者
猴君
阅读量:2

在python中,hashlib模块提供了很多哈希算法,例如MD5、SHA-1、SHA-256等。如果要按行生成hash值,可以按照以下步骤进行操作:

  1. 导入hashlib模块:import hashlib

  2. 打开文件或者从其他地方获取文本数据。

  3. 遍历每一行数据。

  4. 对每一行数据进行哈希运算。

  5. 将每一行的哈希值存储到一个列表中。

下面是一个示例代码,演示如何按行生成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哈希值列表。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!