首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在河豚加密哈希中找到盐

在河豚加密哈希中找到盐
EN

Stack Overflow用户
提问于 2011-08-25 07:03:39
回答 3查看 1.7K关注 0票数 1

这是一个非常基本的问题。我已经在这方面寻求帮助,但没有找到任何具体的答案。因此,我在这里特别要求。

用例是,我希望找到引用哈希列表的弱密码。为此,我必须将每个已知/普通单词的散列与可用的散列进行比较。所有这些都是在C++中使用openssl/blowfish.h为Unix完成的。

但是,要创建这个猜测词的散列,需要使用与密码散列相同的salt来生成。

我的问题是如何从密码哈希中提取盐。假设,下面是我的散列:

$2a$10$FTx8T5QrEbxYVe.NJ6iOhuei.V9qgl60xF8/8s7iZRDIlOl.ibDEW

这里面有什么盐?或者我怎样才能实现这个目标?任何指针都会很棒!!

提前谢谢。

EN

回答 3

Stack Overflow用户

发布于 2011-08-25 07:10:08

只需将密码哈希作为盐类传递--它足够聪明地提取自身。这是crypt()的惯例

参见现代Unix和“BSD样式”散列下的在Unix、Mac和Windows中密码是如何工作的

注意:salt参数crypt()不是salt。这是$algorithm$salt$MORESALTsomething,所以你不应该自己提取盐。--因为历史(年代)的原因,它被称为salt

另见为什么地窖/河豚会用两种不同的盐产生相同的散列?

票数 2
EN

Stack Overflow用户

发布于 2011-08-25 08:40:24

密码哈希函数的"salt“与密码连接,然后对结果字符串进行散列处理。要拿回盐,那就意味着你需要拿回被散过的绳子。显然,这有两个主要问题:

  1. 如果您能够返回该散列字符串,它还将包含明文密码。这将是哈希函数的一个主要安全缺陷。
  2. 您还必须知道连接字符串的哪一部分是salt,哪些是密码。
票数 1
EN

Stack Overflow用户

发布于 2011-08-25 07:06:04

这不是盐的意思吗?你不知道那是什么?所以没人能来做你现在想做的事?

我对盐的理解是:

  • 你有一个字符串,我们叫它password
  • 你有和算法,它接受一个字符串,并从中产生一个散列。我们叫它blowfish
    • 这是对的吗?河豚是哈希算法吗?我不这么认为!
    • 让我们称我们的算法为md5

  • md5将为password生成一个散列,但它总是生成相同的哈希。
  • 你有个坏人。我们叫他Mrun吧。
  • Mrun试图通过使用字典中的一组已知密码来测试md5,从而找到md5
  • 不只是使用password,而是使用password + salt,就会产生不同的哈希,并阻止Mrun

如果需要查找salt,则必须至少有一个已知的密码和哈希组合。然后你可以试着用蛮力找出盐。祝好运。希望你别在这里作恶。哦,我希望其他的恶魔也是无知的.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7186315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档