代码之家  ›  专栏  ›  技术社区  ›  polemon

4美元对sha1pass的产出意味着什么?

  •  3
  • polemon  · 技术社区  · 14 年前

    使用创建密码时 sha1pass 标记的第一个值是“4”。

    例如:

    sha1pass test
    

    给我们:

    $4$GTdnmykS$25iwV+ruXRwor4pUmKF57uXHj70$
    

    令牌使用 $ 作为分离器: 25iwV+ruXRwor4pUmKF57uXHj70 是计算的哈希, GTdnmykS 是生成的盐,因为我没有提供第二个参数,但是它是什么 4 意思是?

    4实际上是硬编码的,这是 Sa1PASS ,这是一个Perl脚本:

    print '$4$', $salt, '$', $pass, "\$\n";
    

    为什么标记“4”的第一个值,它是什么意思?

    3 回复  |  直到 14 年前
        1
  •  6
  •   Jeff Standen    14 年前

    我已经看到了使用的惯例,其中$1$表示MD5,$4$表示SHA1。它是硬编码的,因为它只是为将来的比较编码哈希的生成方式。

        2
  •  8
  •   Wooble    14 年前

    它只是一个签名,所以你知道你看到的是一个sha-1密码; $1$ 用于MD5, $5$ 对于SHA-2-256,以及 $6$ 对于SHA2-512。

        3
  •  3
  •   snemarch    14 年前

    它是一个签名,告诉你使用了散列类型,很多是 明显的 .

    现在, 为什么? 是礼物吗?因为它用于Unix密码散列,检查 crypt (Unix) :

    如果盐以绳子开始 $Dig$ 然后使用模块化密码格式。数字表示加密中使用的算法。