python - .py 文件中的哈希密码

标签 python hash passwords account

我在标题中说过,我希望密码在保存时进行哈希处理。这可能吗?

    def __OnClickSaveLoginButton(self):
    id = self.idEditLine.GetText()
    pwd = self.pwdEditLine.GetText()
    if (len(id) == 0 or len(pwd) == 0):
        self.PopupNotifyMessage("ID and Password required",self.SetIDEditLineFocus)
        return
    file_object  = open("account.cfg", "w")
    file_object.write(id+"\n"+pwd)
    self.PopupNotifyMessage("Saved.",self.SetIDEditLineFocus)
    file_object.close()

最佳答案

您需要使用 python hashlib 。一个示例可能如下所示:

  import hashlib

  def valid_password(userid, password):
      user = get_user(userid)
      pw_hash = hashlib.sha256(password).hexdigest()
      if user.hash == pw_hash:
          return True
      return False

此外,我建议查看此 SO 中提到的一些密码存储最佳实践。

编辑:我在本例中使用了 sh256,但这作为消息摘要更有用。更好的用法是 hashlib.pbkdf2_hmac 或其他 key 派生函数。写得很好here .

关于python - .py 文件中的哈希密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48448830/

相关文章:

python - 为批量值请求指定有效的 "ranges"

Python:如何使这段代码运行得更快

Ruby 嵌套哈希语法和结构

git - 是否有努力开发具有文件自动更改检测功能的面向构建的文件系统?

security - 腌制和储存盐的最佳方法是什么?

database - 您为什么要在数据库中存储纯文本或加密(未散列)密码?

python - 虚拟主机模式下 nginx + uwsgi 的问题,运行 django 应用程序

使用ReportLab创建Python/PDF-带有图案的自制网格打印,但在屏幕上看起来不错

algorithm - 哈希表中的删除

linux - 路由器使用 Linux 获取密码哈希