繁体   English   中英

如何为bcrypt.hashpw设置盐?

[英]How can I set salt for bcrypt.hashpw?

    salt = 'yhnqazolr123098765'
    password = bcrypt.hashpw(password,salt)
    repeatpassword = bcrypt.hashpw(repeatpassword,salt)

第二行出现错误。

ValueError at /register

Invalid salt

Request Method:     POST
Request URL:    http://127.0.0.1:8000/register
Django Version:     1.3.1
Exception Type:     ValueError
Exception Value:    

Invalid salt

Exception Location:     /home/user1/djangoblog/blog/views.py in register, line 70
Python Executable:  /usr/bin/python
Python Version:     2.6.6
Python Path:    

['/home/user1/djangoblog',
 '/usr/lib/python2.6',
 '/usr/lib/python2.6/plat-linux2',
 '/usr/lib/python2.6/lib-tk',
 '/usr/lib/python2.6/lib-old',
 '/usr/lib/python2.6/lib-dynload',
 '/usr/local/lib/python2.6/dist-packages',
 '/usr/lib/python2.6/dist-packages',
 '/usr/lib/python2.6/dist-packages/gst-0.10',
 '/usr/lib/pymodules/python2.6',
 '/usr/lib/pymodules/python2.6/gtk-2.0']

该怎么办? 我需要设置一些默认的盐值,而不是每次都设置随机盐。

我认为,就像在项目页面中找到的示例一样,您需要这样的东西:

salt = bcrypt.gensalt()
password = bcrypt.hashpw(password, salt)
repeatpassword = bcrypt.hashpw(repeatpassword,salt)

盐的格式为:

$Version$log2(NumRounds)$salt

哪里:

  • Version2
  • 0 <= log2(NumRounds) < 32
  • salt是22字节的base-64编码的字符串。

我建议您改用bcrypt.gensalt() 您没有充分的理由自己提供盐。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM