生成CSV文件的单个哈希

时间:2017-11-08 11:02:53

标签: django python-3.x csv hash

我有一项服务,收到大小从MB到GB的CSV文件,我需要针对文件的所有内容生成单一哈希

是否有针对此的优化解决方案,并不要求我逐行读取文件并连接字符串中的每一行,然后生成该字符串的哈希值?对于可能包含数百万行的文件,该方法需要花费太多时间。

任何帮助将不胜感激。顺便说一句,我将使用SHA256中的hashlib进行散列。

1 个答案:

答案 0 :(得分:0)

使用以下代码:

import hashlib
def generateHash(path):

    sha256 = hashlib.sha256()
    block_size=256*128

    with open(path, 'rb') as f:
        for chunk in iter(lambda: f.read(block_size), b''):
            sha256.update(chunk)

    return sha256.hexdigest()