MD5校验和与盐

时间:2011-09-09 13:46:08

标签: md5

我认为当使用salt时,MD5是根据串联字符串+ salt计算的。因此,'aaa'和salt'aa'这个词应该像'aaaa'一样,盐'a'或'aaaaa'没有盐。

但这就是我得到的......

md5pass aaa aa

$1$aa$EeTKacbSboHIR0fSp2UVf0

md5pass aaaa a

$1$a$M2jh3iKJcBEuJdTGjNcsh0

你能解释为什么校验和不同吗?

谢谢,

马丁

1 个答案:

答案 0 :(得分:0)

我混淆了两个不同的东西 - MD5校验和和密码哈希

  1. MD5校验和用于检查文件是否未被修改。不使用盐,结果通常是十六进制数。

  2. MD5密码哈希用于以不可读的形式存储密码。它在许多次迭代中使用MD5(密码+盐),结果以$1$开头。

  3. md5pass根据给定的密码和salt计算密码哈希值。有许多md5的迭代(传递+ salt + result_from_previous_iteration),所以不仅仅是MD5(传递+盐)。

    http://en.wikipedia.org/wiki/Crypt_%28Unix%29