gpt4 book ai didi

python - Python 中的密码提交

转载 作者:太空宇宙 更新时间:2023-11-03 15:22:44 24 4
gpt4 key购买 nike

我正在使用 Google 应用引擎开发一个网站,我想知道处理提交的正确方法是什么。

我正在考虑做一些事情,比如在客户端用一些盐对密码进行哈希处理,然后在服务器端用一些其他盐再次对其进行哈希处理。

我想知道这是否至少是某种体面的安全性,以及它是否已经存在一个 Python 库可以做到这一点或更好的东西。

最佳答案

标准做法是对连接使用 SSL 加密(例如 https),然后在服务器端用盐对其进行哈希处理。当用户稍后登录时,您仍然必须验证密码,并且从浏览器向服务器发送密码的哈希值与发送密码本身一样不安全;拦截其中任何一个的攻击者仍然可以作为该用户登录。

有一个名为 passlib 的 python 包可以为您处理各种形式的密码散列和加盐:

from passlib.hash import sha256_crypt
hashed = sha256_crypt.encrypt(password)

将选择的算法包含在存储的密码哈希中通常是个好主意; RFC 2307 密码(在 LDAP 中使用)使用 {SCHEME} 前缀,其他哈希方案使用 unix $digit$ 前缀,其中数字是数字;上面代码片段中的 sha256 方案使用 $5$ 作为前缀。

这样您就可以在以后升级您的密码方案,同时通过选择正确的哈希算法在以后验证密码来仍然支持旧方案。

大多数 passlib 散列方案已经返回带有标准前缀的散列,每个方案的详细文档页面中都有记录。您可以使用 .identify() function以在您稍后需要根据输入的密码验证密码哈希值时识别使用的哈希算法。

关于python - Python 中的密码提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12445278/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com