Python中文
首页
教程
问答
标签
搜索
登录
注册
两个脚本返回两个不同的哈希值,我认为是同一个字符串
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在尝试构建一个MD5'cracker',并使用两个不同的脚本来实现它,第一个脚本从单词列表(巨大的单词)中获取单词列表列表.txt),然后将它们散列并写入另一个文件(WordsHash.txt文件). 然后,第二种方法获取一个用户定义的单词,对其进行哈希运算,并将其与中的哈希值进行比较WordHash.txt文件,但对于“相同”字符串,我得到了不同的哈希值。你知道吗</p> <p>第一个脚本:</p> <pre><code>import hashlib hashes = open("WordsHash.txt", 'w') m = hashlib.md5() with open("huge word list.txt") as words: words = words.readlines() print "processing..." for line in words: line = line.replace("\n", "") m.update(line) word_hash = m.hexdigest() line = "%s %s\n" % (line, word_hash) hashes.write(line) print "done." hashes.close() </code></pre> <p>第二个剧本:</p> <pre><code>import hashlib f = open('WordsHash.txt') p = '\'due' password = hashlib.md5() password.update(p) password = password.hexdigest() print "%r %r" %(password, p) for line in f: lines = line.split(" ") lines[1] = lines[1].replace("\n", "") word_hash = lines[1] if word_hash == password: print "found it, %s" % line exit(0) </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>忽略给定的两段代码是相同的事实,如果要对新字符串进行哈希运算,则必须创建一个新的<code>hashlib.md5</code>,否则更新将被添加到现有的哈希运算中。你知道吗</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
jupyter运行一个旧的pytorch版本
5 回答
Jupyter运行不同版本的卸载库?
3 回答
Jupyter运行指定的键盘快捷键
6 回答
Jupyter通过.local文件“逃逸”virtualenv。我该如何缓解这种情况?
5 回答
Jupyter重新加载自定义样式
9 回答
Jupyter错误:“没有名为Jupyter_core.paths的模块”
3 回答
jupyter错误:无法在随机林中将决策树视为png
3 回答
Jupyter错误'内核似乎已经死亡,它将自动重新启动'为一个给定的代码块
5 回答
Jupyter错误地用阿拉伯语和字母数字元素显示Python列表
10 回答
Jupyter隐藏数据帧索引,但保留原始样式
4 回答
Jupyter集线器:启动器中出现致命错误。。。系统找不到指定的文件
3 回答
Jupyther中相同值的相同哈希,但导出到Bigquery时不相同
5 回答
Jupy上Python的读/写访问问题
9 回答
jupy上没有模块cv
1 回答
Jupy上的排序错误
10 回答
Jupy中bqplot图形的紧凑布局
10 回答
Jupy中matplotlib plot的连续更新
4 回答
Jupy中Numpy函数的文档
5 回答
Jupy中Pandas的自动完成问题
9 回答
jupy中Qt后端的Matplotlib动画
5 回答