python - 从文件中读取并删除\n和空格

标签 python file-io

我试图让 python 从文件中读取一些文本行,然后将它们转换为 md5 哈希值,以便与用户输入的哈希值进行比较。

我正在使用 f = open(file, 'r') 打开并读取文件,一切正常,但当它对单词进行散列时,它不是该单词的正确散列。

所以我需要知道如何删除末尾的空格或 \n 导致其哈希值不正确。

如果这是有道理的。我真的不知道该怎么表达。

代码:http://pastebin.com/Rdticrbs

最佳答案

我刚刚重写了你的pastebin代码,因为它不好。为什么要递归地写呢? (sys.setrecursionlimit(10000000) 行可能是您做错了什么的线索!)

import md5
hashed = raw_input("Hash:")
with open(raw_input("Wordlist Path: ")) as f:
    for line in f:
        if md5.new(line.strip()).hexdigest() == hashed:
            print(line.strip())
            break
    else:
        print("The hash was not found. Please try a new wordlist.")

    raw_input("Press ENTER to close.")

这显然会很慢,因为它每次都会对单词列表中的每个单词进行哈希处理。如果您要在单词列表中查找多个单词,您应该计算(一次)哈希值到单词的映射(反向查找表)并使用它。您可能需要 large-scale key-value storage library如果您的单词列表很大。

关于python - 从文件中读取并删除\n和空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8887907/

相关文章:

线程 : can't start new thread 中的 Python 异常

python - 如何在 Pandas 数据框中切换列行

python - 如何根据与其他匹配项的接近程度来过滤外围匹配项?

c++ - 资源而不是外部文件 C++

Java 更新二进制保存文件到我的应用程序的最新版本

mysql - 选择整个数据库而不是单个表以输出到文件

c# - 用c#打开和保存excel文档

python - 如果条件不返回真

c++ - 从 C++ 文件中获取输入

python - 如何在具有不同日期格式的列上将字符串转换为日期