繁体   English   中英

.pyc文件和天真的加密

[英].pyc files and naive encryption

我有一个相当天真的事情我想做,我想知道是否有人可以回答可以告诉我,如果这只是愚蠢的。 如果我要问的不是愚蠢而是天真,我会很感激,如果我能在正确的方向上轻推一下。

我有一个名为pwds.py的文件。 它的内容是

 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的文件,其内容为

 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文件中,编译它,并且只有在键入正确的密钥时才能访问其内容。 这种方法是否太愚蠢甚至不考虑? 我不想写“杂乱的人”和“杂乱的人”。 我认为这将是一个简单而廉价的解决方案。

感谢您阅读本文! 请让我知道我是否应该提供其他信息。

.pyc文件仅包含已编译的python代码,因此无需在每次运行程序时都重新编译。 因此,其中的所有字符串仍然可读(您可以始终查看二进制内容或通过pdb调试器逐步浏览程序)。

如果你想保护的东西在利用密码的代码,您必须将其与强大的加密功能加密并仅存储加密版本。 然后,用户的密钥/密码用于解密数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM