2011-02-16 57 views
2

這是密碼:在我的mysql數據庫中使用django的密碼。

sha1$265b1$5ff32d53cf53bdef243b6f83e33e513514352406 
sha1$73f58$b037706983a566e2a2b4bab7ef062c2e84f4a33e 

這兩個String的密碼都是 '123456',

但爲什麼他們有不同的字符串?

感謝

+1

**添加鹽**是不同的! – crodjer 2011-02-16 07:53:44

回答

-2

是決定你的算法,一些算法的結果是不一樣

+0

如果我複製一個字符串到另一個,密碼也是'123456'。 – zjm1126 2011-02-16 07:47:40

+0

是的,你可以。但是,如果您正在使用它,您應該瞭解SHA ... – Konerak 2011-02-16 07:56:29

0

Docs所述,Django使用鹽散列的口令。 salt是2 $之間的幾個字符,因此從技術上講,您可以使用其他值更新其中一行。

欲瞭解更多關於鹽散列看到This question

1

直到django 1.3是爲「鹽」的原始密碼:

的用戶對象的密碼屬性是以下格式的字符串:

hashtype$salt$hash 

這是由美元符號字符分隔的哈希類型,鹽和哈希。

Hashtype是sha1(默認),md5或crypt - 用於執行密碼單向散列的算法。 Salt是一個隨機字符串,用於限制原始密碼以創建哈希。

django 1.4的「salt」部分isn't記錄在數據庫中,它默認使用另一種算法後。

相關問題