因此,在构建网络应用程序和存储密码时,安全性和性能都是需要牢记的重要事项。看到证据表明,由于 GPU 的速度越来越快,即使是加盐的 SHA1 密码也很容易被破解,我想知道存储密码的最佳做法是什么。
我认为,为了增加存储密码的安全性,您可以在盐中添加一个 secret 。因此,例如,此 python 代码可能是:
import hashlib
import hmac
secret = 'XYZ'
h = hmac.new('salt' + secret, 'password')
- 这是常见的事情吗?
- 这样做有什么缺点?
- 该领域的最佳做法是什么?
附言我没有在安全论坛上发布这个,因为我想要一个 webapp 开发者的视角。
请您参考如下方法:
另请查看 passlib:http://pypi.python.org/pypi/passlib/
