Passwords 在sha1pass的输出中,4美元意味着什么?
使用Passwords 在sha1pass的输出中,4美元意味着什么?,passwords,sha1,Passwords,Sha1,使用sha1pass创建密码时,令牌中的第一个值为“4” 例如: sha1pass test 给了我们: $4$GTdnmykS$25iwV+ruXRwor4pUmKF57uXHj70$ 令牌使用$作为分隔符:25iwV+ruXRwor4pUmKF57uXHj70是计算的哈希,GTdnmykS是生成的salt,因为我没有提供第二个参数,但这4意味着什么 4实际上是硬编码的,这是sha1pass的最后一行,这是一个Perl脚本: print '$4$', $salt, '$', $pass,
sha1pass
创建密码时,令牌中的第一个值为“4”
例如:
sha1pass test
给了我们:
$4$GTdnmykS$25iwV+ruXRwor4pUmKF57uXHj70$
令牌使用$
作为分隔符:25iwV+ruXRwor4pUmKF57uXHj70
是计算的哈希,GTdnmykS
是生成的salt,因为我没有提供第二个参数,但这4
意味着什么
4实际上是硬编码的,这是sha1pass
的最后一行,这是一个Perl脚本:
print '$4$', $salt, '$', $pass, "\$\n";
为什么该标记的第一个值是“4”,它是什么意思?我见过使用的惯例,其中$1$表示MD5,$4$表示SHA1。它是硬编码的,因为它只是对哈希值的生成方式进行编码,以便将来进行比较。它只是一个签名,所以您知道您看到的是一个SHA-1密码
$1$
用于MD5,$5$
用于SHA-2-256,$6$
用于SHA-2-512。这是一个签名,告诉您使用的是哈希类型,这一点很明显
现在,为什么存在?这是因为它用于unix密码哈希,请检查:
如果salt以字符串$digit$开头,则使用模块化加密格式。数字表示加密中使用的算法