使用django在我的mysql数据库中的密码。

时间:2011-02-16 07:34:39

标签: mysql database django passwords

这是密码:

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

这两个字符串的密码都是'123456',

但为什么他们有不同的字符串?

感谢

3 个答案:

答案 0 :(得分:1)

直到django 1.3为“salt”原始密码:

  

User对象的password属性是这种格式的字符串:

hashtype$salt$hash
  

这是hashtype,salt和hash,由美元符号字符分隔。

     

Hashtype是sha1(默认值),md5或crypt - 用于执行密码单向哈希的算法。 Salt是一个随机字符串,用于对原始密码进行加密以创建哈希值。

django 1.4之后,“salt”部分未记录在数据库中,默认使用其他算法。

答案 1 :(得分:0)

Docs中所述,django使用salt来密码密码。 salt是2 $之间的几个字符,因此从技术上讲,您可以使用另一个值更新其中一行。

有关盐哈希的更多信息,请参阅This question

答案 2 :(得分:-2)

决定你的算法,某些算法的结果不一样