【问题标题】:Large Text File Comparison Python using haslib使用 hashlib 的大文本文件比较 Python
【发布时间】:2017-06-23 17:24:01
【问题描述】:

我是 python 新手,并且尽可能快地学习。我正在尝试比较两个未排序的大型文本文件,所以我必须比较两种方式。即A-B 和 B-A。文件很大,所以我尝试使用哈希方法。

实际要求: 1.比较两个分隔的文本文件。即A-B 和 B-A。像 Excel 中的 Vlookup 进行比较 2. 将不匹配的行写入文本文件

问题: 我能够获取每一行的哈希值,但在比较两个文件并将实际不匹配的行(不是哈希值)写入文本文件时遇到问题。

代码:

from hashlib import sha1
import csv

File1 = 'text1.txt'
File2 = 'text2.txt'
output = 'output.txt'

with open(File1, 'r') as ifile:
        for line in ifile:
            line = line.rstrip()
            digest = sha1(line).hexdigest()

with open(File2, 'r') as ifile1:
    for line1 in ifile1:
        line1 = line1.rstrip()
        digest1 = sha1(line1).hexdigest()

        writer = csv.writer(open(output, "w"))
        for i in digest:
            for xl in digest1:
                if i[0] == xl[0]:
                    i.append(xl[1:])
                    writer.writerow(i)
                digest.seek(0)

【问题讨论】:

    标签: python hash compare text-files md5


    【解决方案1】:

    哈希不是为更改检测而设计的,而是为相等性检查而设计的。每一个位的变化都必须导致至少一半的哈希位发生变化。

    如果您可以使用它们的哈希检测两个流的差异,您可以通过计算不同的哈希并使用该方法来确定应该更改猜测密码的哪些部分来破解密码。

    您应该逐行迭代文件,直到遇到更改。

    【讨论】:

      猜你喜欢
      • 2022-12-22
      • 1970-01-01
      • 2011-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多