首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.pyc文件与朴素加密

.pyc文件与朴素加密
EN

Stack Overflow用户
提问于 2010-11-06 16:30:59
回答 1查看 2.6K关注 0票数 0

我有一件相当天真的事情要做,我想知道是否有人能回答我,如果这是完全愚蠢的。如果我要问的不是愚蠢,也许是天真,我会感激如果我能得到一个正确的方向轻推。

我有一个名为pwds.py的文件。其内容如下

代码语言:javascript
复制
import hashlib
class Pwds:
    def __init__(self):
        pass
    def printGood(self,key):
        y = hashlib.sha1()
        y.update(key.encode('ascii'))
        if y.hexdigest() == "db5f60442c78f08eefb0a2efeaa860b071c4cdae":
            print("You entered the correct key!")
        else:
            print("Intruder!")

然后我有另一个名为runme.py的文件,其内容是

代码语言:javascript
复制
import pwds
x = input("Please type the password: ")
y = pwds.Pwds()
y.printGood(x)
x = input("Press any key to end")

第一次运行runme.py时,将创建一个pwds.pyc文件。我的想法是,一旦创建了.pyc文件,我就可以删除pwds.py并正常运行runme.py。此外,我认为pwds.py的内容将包含在.pyc中,但由于这是一个“编译”的Python文件,因此无法读取。因此,虽然我可以删除pwds.py并成功地运行runme.py,但是如果我在记事本中打开它,pwds.pyc几乎是可读的。

因此,一般的问题是:如何使pwds.py的内容不可读?对于上面的代码,我想要做的是在Python文件中保存“秘密”信息,编译它,并且只有输入正确的键时才能访问它的内容。这种做法是否太愚蠢,甚至连考虑都没有?我不想写一个“加布勒”和“脱胶器”。我认为这将是一个简单而廉价的解决方案。

谢谢你看这个!如有任何其他资料,请告知我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-06 16:34:26

.pyc文件只包含编译好的python代码,因此不需要每次运行程序时都重新编译。因此,它中的所有字符串仍然是可读的(您可以始终通过pdb调试器查看二进制内容或步骤)。

如果要使用密码保护代码中的某些内容,则必须使用强加密加密,并且只存储加密版本。然后使用用户的密钥/密码对数据进行解密。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4113987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档