我想创建一个简单的暴力密码破解器,它将对来自 stdin 的输入进行哈希处理,并将结果与现有的哈希值(对于我的证券类)进行比较。
不过,我从来没有做过任何涉及哈希的实际编程,因为到目前为止它主要是概念/数学部分。 是否有一种(相对)易于学习的语言,它有一个简单的哈希命令?我的一个 friend 推荐了 Python,但我不确定是否还有其他我可以在一段时间内学习的语言一两天。我懂一点 C,但散列似乎相对复杂,需要额外的库。
此外,任何对实际哈希命令的语法帮助都将不胜感激。该程序本身需要能够支持奇怪的散列方法,例如对一个值进行两次散列或使用不变的设置盐,并且能够从标准输入中获取输入(以便与 johntheripper 等程序一起使用)。
最佳答案
假设您只被要求使用散列函数,而不是自己实现散列,Python's hashlib module有 md5 和 sha1 的例程:
[针对 Python 3 进行了更新,其中 hashlib
需要字节,而不是字符串:]
>>> import hashlib
>>> s = 'something to hash'
>>> sb = s.encode("utf8")
>>> hashlib.md5(sb)
<md5 HASH object @ 0x7f36f5ce3440>
>>> hashlib.md5(sb).hexdigest()
'6f4815fdf1f1fd3f36ac295bf39d26b4'
>>> hashlib.sha1(sb).hexdigest()
'72668bc961b0a78bfa1633f6141bcea69ca37468'
[遗留 Python 2 版本:]
>>> import hashlib
>>> s = 'something to hash'
>>> hashlib.md5(s)
<md5 HASH object @ 0xb7714ca0>
>>> hashlib.md5(s).hexdigest()
'6f4815fdf1f1fd3f36ac295bf39d26b4'
>>> hashlib.sha1(s).hexdigest()
'72668bc961b0a78bfa1633f6141bcea69ca37468'
关于python - 使用 md5/sha1 哈希命令的简单编程语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9960889/