使用谷歌应用引擎加密++ / pycrypto

时间:2010-05-08 17:14:45

标签: google-app-engine encryption

我正在使用crypto ++将AES加密的http请求发送到应用引擎,计划在那里解密它们。我的计划是在'?'之后加密部分所以它就像:

http://myurl.com/Command?eiwjfsdlfjldkjfs加密时。但是,我很难搞清楚如何在另一端解密它,并且用户仍然会在响应中获取()来获取args。有人可以建议我采取错误的方法吗?我应该解密而不是使用get(),而是使用我自己的解析器吗?

1 个答案:

答案 0 :(得分:3)

我认为您应该像这样创建网址:

http://myurl.com/Command?q=eiwjfsdlfjldkjfs

然后,在您的请求处理程序中,您将能够获得如下加密消息:

encrypted_string = self.request.get('q')

修改

这是怎么做的:

1)创建网址:

import Crypto
from Crypto.Cipher import ARC4
obj=ARC4.new('stackoverflow')
plain = urllib.urlencode({'param1': 'v1', 'param2': 'v2'})
ciph = obj.encrypt(plain)
url = 'myurl.com/Command?%s' % urllib.urlencode({'q': ciph}) 
#url should be 'myurl.com/Command?q=%D4%2B%E5%FA%04rE.%1C.%81%0C%B6t%DCl%F8%84%EB'

2)解密它:

ciph = self.request.get('q')
obj=ARC4.new('stackoverflow')
plain = obj.decrypt(ciph)
get_data = cgi.parse_qs(plain) # {'param2': ['v2'], 'param1': ['v1']}