编辑:您修改后的问题很清楚,您担心有人在编辑代码以绕过密码检查。是的,那是完全可能的。您可以以.pyc格式提供代码,但这不一定会阻止某人对它进行反编译和更改。不幸的是,Python并非旨在防止代码更改。您能做的最好的事情就是用安全的服务器执行某种身份验证事务,因此,无论有人如何更改代码,他们都无法绕过该步骤。根据您的确切应用,这可能是过大的。
如何管理密码身份验证是一个棘手的安全性问题,人们在整个职业生涯中都会花很多时间。但是,这里是有关此的一些信息,它们假定您试图从头开始进行自己的密码验证:
即使是为了临时保护密码,通常也不会以明文形式存储用户密码。取而代之的是,通常使用可靠的单向哈希函数来创建与密码不同的位模式。输入密码后,将应用相同的哈希函数并比较位模式。如果它们相同,则正确输入密码的可能性很高。
构成“可靠的”哈希函数的技巧非常棘手。有几种常用的,而一些常用的哈希函数容易受到已知漏洞的攻击。
Noelkd提供了一些代码来演示这种方法,尽管(我相信)他的代码使用的MD5在某种程度上受到了损害,以至于存在更好的选择。本文还提供了一些代码来执行类似的操作:
如果您担心要以纯文本格式存储必须传递给sqlite数据库的实际密码,那就是另一个问题。大多数时候,我已经看到这样的密码以明文形式存储在脚本或配置文件中,并且该应用程序的结构使得妥协该密码的风险不大。