cor*_*ump 3 python web-applications password-protection password-encryption
我正在使用Google应用引擎开发一个网站,我想知道处理提交的正确方法是什么.
我正在考虑做一些事情,比如用一些盐哈希密码客户端,然后在服务器端用其他一些盐再次哈希.
我想知道这是否至少是一些不错的安全性,如果它已经存在一个Python库,它可以做到更好或更好.
标准做法是对连接使用SSL加密(例如https),然后在服务器端使用salt对其进行哈希处理.当用户稍后登录时,您仍然必须验证密码,并且从浏览器向服务器发送密码的哈希与发送密码本身一样不安全; 拦截任何一个的攻击者仍然可以以该用户身份登录.
有一个叫做的python包passlib可以为你处理各种形式的密码哈希和salting:
from passlib.hash import sha256_crypt
hashed = sha256_crypt.encrypt(password)
Run Code Online (Sandbox Code Playgroud)
将选择的算法包含在存储的密码哈希中通常是个好主意; RFC 2307密码(在LDAP中使用)使用{SCHEME}前缀,其他散列方案使用unix $digit$前缀,其中digit是数字; sha256上面代码片段中的方案$5$用作前缀.
这样,您可以在以后升级密码方案,同时仍然支持旧方案,方法是选择正确的哈希算法以便稍后验证密码.
大多数passlib散列方案已经返回带有标准前缀的哈希值,并记录在每个方案的详细文档页面中.您可以使用该.identify()函数来确定以后需要根据输入的密码验证密码哈希时使用的哈希算法.
| 归档时间: |
|
| 查看次数: |
241 次 |
| 最近记录: |