文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

快速搭建python程序

2023-01-30 22:17

关注

公司对外提供了http接口服务,涉及到了des加密,有客户用Python开发,但搞不定加密,客户的问题就是大问题,虽然以前没接触过Python,也只能硬着头皮上,不停的baidu各种资料,从环境搭建、到hello world、最后到des加密实现,终于在半天之内帮客户搞定。感叹Python强大的类库,几行代码搞定稳定,大家网上分享自己的各种经验关键时候真能帮上大忙,遇到各种问题都能搞定。以下是记录自己从Python零基础到实现des加密的过程,留作备忘与和我一样遇到类似问题的朋友。

  • 安装python环境
  • 安装IDE(Eclipse+PyDev)
  • hello world实现
  • des加密实现

安装python环境

  1. python可以从python官网下载。
    遇到问题:python版本的选择,从官网看主要有2.x和3.x,而且都在更新,翻看资料大概看了看,两个版本有差别,考虑到我看的教程用的2.7.15,果断选择了同样的版本。下载“Windows x86-64 MSI installer(for AMD64/EM64T/x64)”并安装,一路next安装完成。

  2. 配置环境变量
    这个对安装过java的程序员来说是轻车熟路,稍微提一下,如果安装python时,勾选“Add Python to PATH”可以省去这一步。
    配置好后win+r,输入cmd,输入python,输出“Python 2.7.15”,环境配置成功。

安装IDE(Eclipse+PyDev)

  1. 安装插件
    网上查了下,python IDE还真不少,之前本地安装了Eclipse,选择Eclipse+PyDev方案。
    Eclipse本地早已安装好,直接在Eclipse安装PyDev插件。步骤:

Eclipse菜单 -> Help -> Install New Software... -> Work with (Add..)
Name:PyDev
Location:http://pydev.org/updates

  1. 安装问题
    一路next,finish,安装成功后竟然看不到插件,几番百度下来,发现Eclipse和PyDev有个版本对应关系,参考解决安装成功看不到插件,把上图中的Location改为“http://www.pydev.org/update_sites/old/” ,同时把上图中第一个复选框“Show only the lastest versions of availabele soft”的勾选去掉。Eclipse和PyDev版本对应关系Python官网有介绍。

    这里还有个小插曲,以为插件安装点完finish就安装完毕了,立马重启Eclipse,其实不是,应该还有个下载安装的过程,尤其是网速比较慢的情况下,Eclipse窗口右下角会显示“Installing Software 31%”,还会有确认窗口和重启Eclipse提示。这步也浪费了不少时间,可能这一步对的话能省掉选择Python版本一步。

  2. 配置插件

    Eclipse和Python关系:
    Eclipse菜单 -> Windows ->Preferences -> PyDev-> Interpreters - Python Interpreter.
    点击New按钮,选择python.exe的路径(第1步安装Python的路径),打开后显示出一个包含很多复选框的窗口,点OK结束!

hello world实现

  1. 编写hello world
    按照网上的操作步骤,添加一个项目DesTest,添加package,添加Module命名hello.py,代码如下:
# -*- coding: UTF-8 -*-
print("Hello world");

遇到问题:java思维严重,一直想着怎么添加一个class文件,没有,仔细看了下资料才发现应该是添加Module。

  1. 运行代码
    右键 Run As -> Python Run,输出Hello world,执行成功。
    遇到问题:报错“SyntaxError: Non-ASCII character '\xca'”,中文编码问题,需要添加“# -- coding: UTF-8 --”。
    到这一步,感觉看到曙光了,环境已经准备好,剩余工作就是搞定Des加密类库,生成合适的参数,调试结果了。

des加密实现

实现起来并不难,主要是用到了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,快速熟悉语法全靠它了。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯