什么是 FreeBSD MD5,为什么它会生成非十六进制表示法的散列值?
What is FreeBSD MD5 and why does it produce hashes in non-hexadecimal notation?
我正在通过 Hack This Site 进行黑客挑战,我在其中找到了一个密码哈希值,然后通过暴力破解的可能性对其进行了破解。我的哈希破解者 (John the Ripper) 使用的格式称为 "FreeBSD MD5"。密码和散列如下:
密码:阴影
哈希值:$1$AAODv...$gXPqGkIO3Cu6dnclE/sok1
我的问题是,MD5 通常只有字符集 0123456789abcdef(十六进制)吗?为什么这个哈希值突然包含了一堆其他字符?
截图:
这是加盐密码哈希:
- $ 是字段分隔符
- 1是类型(MD5)
- AAODv... 是散列的(明文)盐
- gXPqGkIO3Cu6dnclE/sok1是base64编码的hash
盐在散列之前与密码连接以防止彩虹表:md5(盐+密码))并验证密码,它必须在散列之前以该盐为前缀。
用 base64 表示散列使其比十六进制数字短一点(23 对 32 字节)。
我正在通过 Hack This Site 进行黑客挑战,我在其中找到了一个密码哈希值,然后通过暴力破解的可能性对其进行了破解。我的哈希破解者 (John the Ripper) 使用的格式称为 "FreeBSD MD5"。密码和散列如下: 密码:阴影 哈希值:$1$AAODv...$gXPqGkIO3Cu6dnclE/sok1
我的问题是,MD5 通常只有字符集 0123456789abcdef(十六进制)吗?为什么这个哈希值突然包含了一堆其他字符?
截图:
这是加盐密码哈希:
- $ 是字段分隔符
- 1是类型(MD5)
- AAODv... 是散列的(明文)盐
- gXPqGkIO3Cu6dnclE/sok1是base64编码的hash
盐在散列之前与密码连接以防止彩虹表:md5(盐+密码))并验证密码,它必须在散列之前以该盐为前缀。
用 base64 表示散列使其比十六进制数字短一点(23 对 32 字节)。