作为@mlissner suggested,auth.User
型号是个不错的 Select .如果你判断source code,你会发现password
字段是CharField
.
password = models.CharField(_('password'), max_length=128, help_text=_("Use
'[algo]$[salt]$[hexdigest]' or use the <a href=\"password/\">change password form</a>."))
User
型号也有set_password
方法.
def set_password(self, raw_password):
import random
algo = 'sha1'
salt = get_hexdigest(algo, str(random.random()), str(random.random()))[:5]
hsh = get_hexdigest(algo, salt, raw_password)
self.password = '%s$%s$%s' % (algo, salt, hsh)
您可以从此方法中获得一些有关创建和保存密码的线索.