当前位置: 首页 > 面试题库 >

Python密码保护

唐骏祥
2023-03-14
问题内容

我是一个初学者,所以如果这个问题听起来很愚蠢,请多多包涵。

我想知道,当我们在python中编写用于用户名/密码检查的代码时,如果未将其编译为exe ie script state,人们不会轻易打开文件并删除进行密码检查的代码部分吗?

我假设整个程序是完全用python没有CC++

即使我使用类似的程序py2exe,也可以轻松将其反编译为源代码。那么,这是否意味着没有必要进行密码检查?

专业程序员该如何应对?


问题答案:

编辑:您修改后的问题很清楚,您担心有人在编辑代码以绕过密码检查。是的,那是完全可能的。您可以以.pyc格式提供代码,但这不一定会阻止某人对它进行反编译和更改。不幸的是,Python并非旨在防止代码更改。您能做的最好的事情就是用安全的服务器执行某种身份验证事务,因此,无论有人如何更改代码,他们都无法绕过该步骤。根据您的确切应用,这可能是过大的。

如何管理密码身份验证是一个棘手的安全性问题,人们在整个职业生涯中都会花很多时间。但是,这里是有关此的一些信息,它们假定您试图从头开始进行自己的密码验证:

即使是为了临时保护密码,通常也不会以明文形式存储用户密码。取而代之的是,通常使用可靠的单向哈希函数来创建与密码不同的位模式。输入密码后,将应用相同的哈希函数并比较位模式。如果它们相同,则正确输入密码的可能性很高。

构成“可靠的”哈希函数的技巧非常棘手。有几种常用的,而一些常用的哈希函数容易受到已知漏洞的攻击。

Noelkd提供了一些代码来演示这种方法,尽管(我相信)他的代码使用的MD5在某种程度上受到了损害,以至于存在更好的选择。本文还提供了一些代码来执行类似的操作:

使用Python验证用户和密码

如果您担心要以纯文本格式存储必须传递给SQLite数据库的实际密码,那就是另一个问题。大多数时候,我已经看到这样的密码以明文形式存储在脚本或配置文件中,并且该应用程序的结构使得妥协该密码的风险不大。



 类似资料:
  • protection([string $password]); 示例一 $config = ['path' => './tests']; ​ $fileObject = new \Vtiful\Kernel\Excel($config); $fileObject = $fileObject->fileName('tutorial.xlsx'); ​ $filePath = $fileObject

  • 问题内容: 我最近一直在试验Docker,以构建一些可玩的服务,而一直困扰我的一件事是将密码放入Dockerfile。我是一名开发人员,因此将密码存储在源代码中感觉像是一拳。这是否值得关注?关于如何在Dockerfiles中处理密码是否有良好的约定? 问题答案: 绝对是一个问题。Dockerfile通常签入存储库并与其他人共享。一种替代方法是在运行时提供任何凭据(用户名,密码,令牌,任何敏感内容)

  • OAuth 2.0 资源所有者密码授权 允许一个客户端发送用户名和密码到令牌服务并获得一个表示该用户访问令牌。 (OAuth 2.0) 规范 建议仅对“受信任”的应用程序使用资源所有者密码授权。一般来说,当你想要验证一个用户并请求访问令牌的时候,使用交互式 OpenID Connect 流通常会更好。 不过,这个授权类型允许我们在 IdentityServer 快速入门中引入 用户 的概念,这是我

  • 问题内容: 我正在用Python开发一款软件,该软件将分发给雇主的客户。我的雇主想通过限时许可文件限制软件的使用。 如果我们分发文件甚至文件,将很容易(反编译和)删除检查许可证文件的代码。 另一个方面是,我的雇主不希望我们的客户阅读该代码,因为担心该代码可能被盗或至少是“新颖的主意”。 有解决这个问题的好方法吗?最好使用现成的解决方案。 该软件将在Linux系统上运行(因此,我认为py2exe不会

  • PEMException:创建加密私钥时出现问题:System.NullReferenceException:对象引用未设置为对象的实例。在org.bouncycastle.openssl.pemreader.readprivateKey(PemObject PemObject) 下面是Decrypt方法的代码:

  • 我用passport进行身份验证。js。然而,在创建会话之后,在每次AJAX请求之后,RoboForm都会请求保存密码。不知道是什么原因。 接受:/ 接受-编码:gzip,放气,sdch,br 接受-语言:en-US,en;q=0.8 连接:保持活力 Cookie:connect.sid=s:jvQRBQY... 主机:localhost:3000 如果-无-匹配:W/"140-360389655

  • 本文向大家介绍Discuz论坛密码与密保加密规则,包括了Discuz论坛密码与密保加密规则的使用技巧和注意事项,需要的朋友参考一下 Discuz密码加密规则: md5(md5('字符串').'固定字串');         固定字符串是在注册用户的时候随机生成的,且保存在数据表pre_ucenter_members的salt字段中。         举例:假如密码为 123456789 ,固定字符

  • 问题内容: 因此,我必须创建验证密码是否有效的代码: 至少8个字符长 包含至少1个数字 包含至少1个大写字母 这是代码: 我不确定出什么问题,但是当我输入带有数字的密码时-它会一直告诉我我需要一个带有数字的密码。有什么办法吗? 问题答案: 您可以将模块用于正则表达式。 有了它,您的代码将如下所示: