什么是FreeBSD MD5,为什么它以非十六进制表示法产生哈希?

时间:2016-01-15 11:55:32

标签: cryptography md5 freebsd hash-function

我正在通过Hack This Site进行黑客攻击,我在其中找到了密码哈希,然后通过强制攻击来破解它。我的哈希破解者(John the Ripper)使用的格式称为" FreeBSD MD5"。密码和哈希如下: PW:影子 HASH:$ 1 $ AAODv ... $ gXPqGkIO3Cu6dnclE / sok1

我的问题是,MD5通常只有字符集0123456789abcdef(十六进制)吗?为什么这个哈希突然包括一堆其他角色?

截图: enter image description here

1 个答案:

答案 0 :(得分:5)

这是一个盐渍密码哈希:

  • $是字段分隔符
  • 1是类型(MD5)
  • AAODv ...是哈希的(明文)盐
  • gXPqGkIO3Cu6dnclE / sok1是base64编码的哈希

在散列之前将salt与密码连接起来以防止彩虹表:md5(salt +密码))并验证密码,在散列之前必须使用此盐作为前缀。

在base64中表示散列使其比十六进制数字(23 vs 32字节)短一些。