这是一个非常基本的问题。我已经在这方面寻求帮助,但没有找到任何具体的答案。因此,我在这里特别要求。
用例是,我希望找到引用哈希列表的弱密码。为此,我必须将每个已知/普通单词的散列与可用的散列进行比较。所有这些都是在C++中使用openssl/blowfish.h为Unix完成的。
但是,要创建这个猜测词的散列,需要使用与密码散列相同的salt来生成。
我的问题是如何从密码哈希中提取盐。假设,下面是我的散列:
$2a$10$FTx8T5QrEbxYVe.NJ6iOhuei.V9qgl60xF8/8s7iZRDIlOl.ibDEW
这里面有什么盐?或者我怎样才能实现这个目标?任何指针都会很棒!!
提前谢谢。
发布于 2011-08-25 07:10:08
只需将密码哈希作为盐类传递--它足够聪明地提取自身。这是crypt()的惯例
参见现代Unix和“BSD样式”散列下的在Unix、Mac和Windows中密码是如何工作的。
注意:salt参数crypt()不是salt。这是$algorithm$salt$MORESALTsomething,所以你不应该自己提取盐。--因为历史(年代)的原因,它被称为salt。
发布于 2011-08-25 08:40:24
密码哈希函数的"salt“与密码连接,然后对结果字符串进行散列处理。要拿回盐,那就意味着你需要拿回被散过的绳子。显然,这有两个主要问题:
发布于 2011-08-25 07:06:04
这不是盐的意思吗?你不知道那是什么?所以没人能来做你现在想做的事?
我对盐的理解是:
password。blowfish md5。
md5将为password生成一个散列,但它总是生成相同的哈希。Mrun吧。Mrun试图通过使用字典中的一组已知密码来测试md5,从而找到md5。password,而是使用password + salt,就会产生不同的哈希,并阻止Mrun。如果需要查找salt,则必须至少有一个已知的密码和哈希组合。然后你可以试着用蛮力找出盐。祝好运。希望你别在这里作恶。哦,我希望其他的恶魔也是无知的.
https://stackoverflow.com/questions/7186315
复制相似问题