我需要根据已经在Django中创建的用户,从另一个python软件提供对Django数据库的访问。我对整个访问权限感到满意,我只需要一段代码来生成管理身份验证模块的Django密码。
这样做的最佳方法是什么?请注意,如果可能的话,我不希望拥有整个Django包。
非常感谢
答案 0 :(得分:6)
知道它是如何工作的。我写了一个小函数来检查用户的密码:
def check_passwd (user, raw_password):
import hashlib
# ... get 'hsh_passwd' from database based on 'user' ...
hsh_passwd = hsh_passwd.split('$')
salt = hsh_passwd[1]
hsh = hsh_passwd[2]
if hsh == hashlib.sha1(salt + raw_password).hexdigest():
return True
return False
当然,没有太多的验证,而且它不灵活,但这是我一直在寻找的。 p>
答案 1 :(得分:4)
创建和验证用户密码的完整代码位于django.contrib.auth.models
。
具体来说,请查看方法User.set_password
和User.check_password
。您需要提取这两个位以及它们引用的Django代码,以根据Django创建和验证项目的用户密码。