我正在使用 crypto++ 将 AES 加密的 http 请求发送到应用程序引擎,计划在那里解密它们。我的计划是加密“?”之后的部分所以它是这样的:
http://myurl.com/Command?eiwjfsdlfjldkjfs http://myurl.com/Command?eiwjfsdlfjldkjfs当它被加密时。但是,我一直在思考如何在另一端解密它,并且仍然在响应上使用 get() 来获取参数。如果我采取了错误的方法,有人可以建议吗?我应该解密而不是使用 get() 而是使用我自己的解析器吗?
我认为你应该像这样创建 URL:
http://myurl.com/Command?q=eiwjfsdlfjldkjfs
然后,在您的请求处理程序中,您将能够获取如下加密消息:
encrypted_string = self.request.get('q')
EDIT:
操作方法如下:
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']}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)