2010-09-23 74 views
3

使用sha1pass創建密碼時,令牌的第一個值爲'4'。

例如:

sha1pass test 

給我們:

$4$GTdnmykS$25iwV+ruXRwor4pUmKF57uXHj70$ 

令牌使用$作爲分隔符:25iwV+ruXRwor4pUmKF57uXHj70是計算散列,GTdnmykS是生成的鹽,因爲我沒有供應第二個參數,但那4是什麼意思?

4實際上是硬編碼的,這是sha1pass最後一行,這是一個Perl腳本:

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

這是爲什麼令牌的第一個值「4」,什麼意思呢?

回答

6

我見過使用的約定,$ 1 $表示MD5,$ 4 $表示SHA1。它是硬編碼的,因爲它只是編碼哈希如何生成以供將來比較。

+0

謝謝,我會從這裏管理。 – polemon 2010-09-23 01:46:07

8

這只是一個簽名,所以你知道你在看什麼是一個SHA-1密碼;對於SHA-2-256,$1$用於MD5,$5$,而對於SHA-2-512,使用$6$

3

這是一個告訴你散列類型被使用的簽名,很多是明顯的

現在,爲什麼是否存在?這是因爲它是用於UNIX的密碼哈希值,檢查crypt (Unix)

如果鹽以字符串$數字$,則使用模塊化加密格式開始。該數字表示在加密中使用哪種算法。