公司对外提供了http接口服务,涉及到了des加密,有客户用Python开发,但搞不定加密,客户的问题就是大问题,虽然以前没接触过Python,也只能硬着头皮上,不停的baidu各种资料,从环境搭建、到hello world、最后到des加密实现,终于在半天之内帮客户搞定。感叹Python强大的类库,几行代码搞定稳定,大家网上分享自己的各种经验关键时候真能帮上大忙,遇到各种问题都能搞定。以下是记录自己从Python零基础到实现des加密的过程,留作备忘与和我一样遇到类似问题的朋友。
Eclipse菜单 -> Help -> Install New Software... -> Work with (Add..) Name:PyDev Location:http://pydev.org/updates
这里还有个小插曲,以为插件安装点完finish就安装完毕了,立马重启Eclipse,其实不是,应该还有个下载安装的过程,尤其是网速比较慢的情况下,Eclipse窗口右下角会显示“Installing Software 31%”,还会有确认窗口和重启Eclipse提示。这步也浪费了不少时间,可能这一步对的话能省掉选择Python版本一步。
# -*- coding: UTF-8 -*-
print("Hello world");
遇到问题:java思维严重,一直想着怎么添加一个class文件,没有,仔细看了下资料才发现应该是添加Module。
实现起来并不难,主要是用到了pyDes库,下载pyDes-1.3.1.zip并解压,里面有setup.py文件,使用命令python setup.py install命令安装即可。
实现des完整代码如下: ```Python # -- coding: UTF-8 -- from pyDes import * import base64 from string import lower
# Des加密算法封装 def desFacade(data, token): #不足8位则用数字0补足至8位 token = token + "00000000"; #加密KEY为经纪云KEY密文前8位 key = token.lower()[0:8]; print "Decypted string: %r" % key; k = des(key, CBC, key, pad=None, padmode=PAD_PKCS5); desString = k.encrypt(data); d = base64.b64encode(desString); return d;
passwork = "qawsed"; fangToken = "jjRxxxxxyxy"; print "Decypted string: %r" % desFacade(passwork, fangToken) #结果O1lDo+QTAL4= assert desFacade(passwork, fangToken) == "O1lDo+QTAL4=" ; ``` 参考教程:http://www.runoob.com/python/python-tutorial.html,快速熟悉语法全靠它了。