2011-07-17 43 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)應該適用於大多數對象,我認爲您可以爲默認序列化不起作用的任何內容添加自定義處理。 –

相關問題