2013-10-27 63 views
2

我想加密在GAE應用程序和我的android應用程序之間傳輸的數據(因爲密鑰應該是動態的,所以不會幫助。我正在考慮AES(128位)加密。如何使用AES與GAE python?

我試着使用pycrypto(GAE SDK 1.8.6,Python 2.7版,Mac OS X 10.9):

libraries: 
- name: pycrypto 
    version: "2.6" 

但是,當我import Crypto它無法找到該模塊:

ImportError: No module named Crypto 

有沒有其他可以使用的內置模塊?或者,有沒有辦法可以使用pycrypto(我應該手動安裝)?

+0

我有一個類似的問題,這裏是我如何解決它:http://stackoverflow.com/questions/29350204/app-engine-importerror-no-module-named-crypto-hash/29354265 #29354265 – JackNova

回答

1

這恰好是一個應用程序引擎提供的模塊,如這裏詳細:

https://developers.google.com/appengine/docs/python/tools/libraries27

Python的2.7運行時包括一些第三方模塊。這些默認情況下可用的一些 ;其他人僅在配置了 時纔可用。您可以指定要使用的版本。 https://developers.google.com/appengine/docs/python/python25/migrate27#Configuring_Libraries

要啓用包括圖書館編輯您的app.yaml這樣的:

libraries: 
- name: pycrypto 
    version: latest 

一般來說你需要自己添加文件到app.yaml中相同的目錄中,如每個問題:Uploading Python third party libraries但這恰好是一個提供的庫。

+0

謝謝,保羅。我用'latest'(你推薦的)替換了'2.6'版本,但它沒有幫助 - 仍然找不到Crypto。 –

+0

我可以從「Crypto.PublicKey導入RSA」中獲得在操場上的工作。看一看。 https://cloud-playground.appspot.com/playground/p/6423617780842496/#main.py –

+0

嗯,對於最後一個評論來說,即使app.yaml中沒有該行,它也不會引發錯誤。現在不知道。 –

0

我最後一次使用的easy_install安裝pycrypto,它不工作(雖然舊版本GAE),所以我這樣做: - 下載pycrypto - 提取物,cd到pycrypto文件夾 - 蟒蛇的setup.py建設 - 須藤python setup.py install