标签:one auto pass 复制 lsp 最新 哈希算法 body sha1
首先,引入模块:
 
| 代码如下 | 复制代码 | 
| 
 >>> from django.contrib.auth.hashers import make_password, check_password 生成密码:  | 
|
这样就可以利用django自带的模块生成一组密码了,这个函数还有一个特点在于每次生成的密码还不一样:
| 代码如下 | 复制代码 | 
| 
    | 
|
既然每次生成的密文都不一样,如何验证用户提交过来的明文与密文匹配呢?这就靠check_password去做了,check_password使用非常简单,只需要告诉它明文和密文它就会返回False or True验证结果
| 代码如下 | 复制代码 | 
| 
    | 
|
如果你不想每次都生成不同的密文,可以把make_password的第二个函数给一个固定的字符串,比如:
| 代码如下 | 复制代码 | 
|   >>> make_password(text, "a", ‘pbkdf2_sha256‘) u‘pbkdf2_sha256$12000$a$5HkIPczRZGSTKUBa5uzZmRuAWdp2Qe6Oemhdasvzv4Q=‘ >>> make_password(text, "a", ‘pbkdf2_sha256‘) u‘pbkdf2_sha256$12000$a$5HkIPczRZGSTKUBa5uzZmRuAWdp2Qe6Oemhdasvzv4Q=‘  | 
|
只要是任意字符串就可以,并且可以多个。但不能为空,如:
| 代码如下 | 复制代码 | 
| 
    | 
|
为空的字符串就相当于:
1
| 代码如下 | 复制代码 | 
|   make_password(text, None, ‘pbkdf2_sha256‘)  | 
|
至于make_password第三个参数是表示生成密文的一种方式,根据文档给出的大概有这几种:
| 代码如下 | 复制代码 | 
| 
     pbkdf2_sha256  | 
|
以上例子我使用了第一种加密方式pbkdf2_sha256,crypt和bcrypt都需要另外单独安装模块,unsalted_md5就是常见的md5加密,如果对加密哈希算法不是很了解,那么就使用django最新的哈希算法pbkdf2_sha256就好
标签:one auto pass 复制 lsp 最新 哈希算法 body sha1
原文地址:http://www.cnblogs.com/yangxiaolan/p/5988132.html