python - Python 中的真正安全性

标签 python encryption

我一直在寻找一种在 if 语句中使用密码的方法。显然,if theRawInput == theCorrectPassword: 是极其不安全的。有任何想法吗?我看过其他关于这个主题的问题,但他们都建议使用 base64,这也是非常不安全的(我在没有使用密码的情况下破解了自己编译的脚本的密码)。

最佳答案

如果攻击者可以访问您的密码数据库,仍然隐藏密码的唯一方法是对其进行哈希处理。包括 salt防止攻击者依赖通用哈希表:

import hashlib
salt = 'uphi8eiV'
hash = 'a7a2a98cc06f5b2935db5d2866670cc8b48116022e5bc30095b6167ddc2f3f96'
if hashlib.md5.hexdigest(salt + rawInput).hexdigest() == hash:
  print('Correct password')

请注意,这仍然无助于防止密码选择不当。对于这些,请确保攻击者无权访问密码数据库。如果您希望潜在的攻击者能够运行您的程序,但不能访问您的程序操作的某些数据,您必须将该数据移动到远程安全服务器程序,该程序会自行执行身份验证。

关于python - Python 中的真正安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8082334/

相关文章:

python - x-y 平面上的热图,以 z 为权重

python - 在 python 中显示更新的文本文件

python - 每第 n 次以不同方式交替更改列表列表中的元素

c++ - 是否有一个简单的 C 或 C++ 函数来计算字符串的 sha1 哈希?

python - Python 2 中的简单替换密码

python - 如何绕过kivy模块错误: ImportError: DLL load failed: The specified module could not be found?

python - Django:与 factory_boy 的一对一字段:UNIQUE 约束失败

c# - C# 和 PHP 之间的对称加密

security - 找不到 Java 安全类

python - 通过 openssl 和 PyCrypto 进行 AES_128_CTR 加密