2011-07-17 34 views
0

我想设计一个应用程序,它读取一些文本文件的文件夹并向用户显示其内容。出现三个问题:我需要包含文本文件的文件夹进行加密,我不知道该怎么做,我需要一种方法来读取加密文件,而不会泄露python代码中的密钥,所以我猜C会即使我不喜欢这种方式,也是最好的方法(任何建议都欢迎,如果可能,请使用python),以及三种,我需要一种方法将文件添加到文件夹,然后将加密的文件夹与程序。 有没有什么办法可以做到这些事情,而不会泄露密钥或给用户读取文件夹的可能性,除了使用我的程序?如何使用python读取加密的文件夹

在此先感谢您的帮助!

编辑:此外,有没有办法使用C来加密和解密文件,以便我可以把密钥放在编译的文件中,并与我的程序分发?

+0

如果您试图阻止用户阅读您计划提供的文件,请立即放弃;如果该程序值得使用,*某人*将打破您尝试添加的任何默默无闻。 (如果你不是,那么对于迷你咆哮很抱歉; @ schmatz的答案的第一个和/或最后三分之一可能是最好的解决方案。) –

回答

1

我认为最好的做法是使用GPG加密各个文本文件,这是目前最强大的加密系统之一(免费!)你可以得到几个python库来做到这一点,我推荐python- GnuPG的。另外,您可能只需引用密钥所在的文件并将其与应用程序一起分发即可?如果你想包含一个预设的密钥,而不是让你的用户能够看到该密钥的位置,你将会非常困难。如何在您控制的服务器上使用密钥,以某种方式只接受来自应用程序副本的密钥请求?我不知道如何通过Python来保证安全。

关于将文件添加到文件夹并随程序一起发送,也许您没有想到最优化的解决方案?有很多python数据结构可以被序列化,并且可以完成您在文章中讨论的大部分内容。

+0

你可以举一个你正在谈论的python数据结构的例子吗?你的答案? – CupOfTea

+1

@nicotranquil,[pickle](http://docs.python.org/library/pickle.html)应该适用于大多数对象,我认为您可以为默认序列化不起作用的任何内容添加自定义处理。 –

相关问题