使用md5/sha1哈希命令的简单编程语言?

Sor*_*nma 3 python security syntax hash programming-languages

我正在寻找创建一个简单的暴力密码破解程序,它将从stdin中散列输入并将结果与​​现有散列(我的证券类)进行比较.

我从来没有做过任何涉及哈希的实际编程,因为到目前为止它主要是概念/数学部分.是否有一种(相对)易于学习的语言,它具有简单的哈希命令?我的一个朋友推荐Python,但我不确定是否还有其他任何东西我可以在一两天内拿到.我知道一点C,但哈希似乎相对复杂,需要额外的库.

此外,任何语法帮助实际哈希命令将不胜感激.程序本身需要能够支持奇数哈希方法,例如两次散列值或使用不更改的set salt,并且能够从stdin获取输入(用于johntheripper等程序).

DSM*_*DSM 12

假设您只被要求使用散列函数,而不是自己实现散列,Python的hashlib模块具有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'
Run Code Online (Sandbox Code Playgroud)

[Legacy 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'
Run Code Online (Sandbox Code Playgroud)