python Crypto模块的安装与使用方法


Posted in Python onDecember 21, 2017

前言

最开始想尝试在windows下面安装python3.6,虽然python安装成功,但在安装Cryto模块用pip3 install pycrypto老是会报错。老夫搞了半天,最终决定在linux下面去做。

以下流程限于linux系统:

Crypto不是自带的模块,需要下载。http://www.voidspace.org.uk/python/modules.shtml#pycrypto

我下载了之后,发现下载的是crypto而不是Crypto(就是差个首字母大小写)

python Crypto模块的安装与使用方法

而crypto.Cipher而又不能运行,报错,最后在:https://stackoverflow.com/questions/31485110/no-module-named-crypto-cipher/31485157 找到解答,需要在python目录里面把Python27\Lib\site-packages下的crypto文件改名,没错,就是直接改成Crypto。结果就能用了...

(因为我上面下载的是免安装版,所以没安装VS2008。我用过pip,下载不了Crypto)windows下安装这些模块真是招罪,要是我的电脑再好一点就弄双系统了..扯远了..

0x00 安装python

apt-get install python3.6

0x01 安装pip3

1.首先安装setuptool

wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26 
 
tar -zxvf setuptools-19.6.tar.gz 
 
cd setuptools-19.6.tar.gz 
 
python3 setup.py build 

python3 setup.py install

2.然后直接安装pip就搞定了

wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb 
 
tar -zxvf pip-8.0.2.tar.gz 
 
cd pip-8.0.2 
 
python3 setup.py build 
 
python3 setup.py install

0x02 安装crypto

apt-get install python3-dev 
pip3 install Crypto 
pip3 install --upgrade pycrypt

下面主要介绍一下Crypto.Cipher的AES算法。

代码如下:

from Crypto.Cipher import AES 
import base64 
secret = "12345678912345678912345678912345"   #由用户输入的16位或24位或32位长的初始密码字符串 
cipher = AES.new(secret)            #通过AES处理初始密码字符串,并返回cipher对象 
s = cipher.encrypt("1234567891234567")     #输入需要加密的字符串,注意字符串长度要是16的倍数。16,32,48.. 
print s                     #输出加密后的字符串 
print base64.b64encode(s)            #输出加密后的字符串的base64编码。 
print cipher.decrypt(s)             #解密

这是为了一开始接触的小白(我)理解的,一般通用一点的处理方法可以参考https://3water.com/article/114364.htm

至于为什么要把已经加密后的字符串再用base64编码,我觉得是对字符串的处理是基于二进制的,而base64的原理是在每6个二进制数的前面加两个零,这样的话,ascii对处理好的字符串编码就全部可见了(起码不是那些问号字符..),用charset模块去测试一下,发现也是像我所说。

DES算法使用与AES的使用一样,只不过要注意初始密码字符串一定要是8位,而其他地方把AES换成DES就行(要是不回想配置环境的事情,Python还是很方便的..)

这个Crypto模块还有哈希算法等其他一下加密算法,如果有大神或者小伙伴把这个模块挖掘后,欢迎在下面留言哦,顺便也教我使用咯,谢谢大家啦

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python计算牛顿迭代多项式实例分析
May 07 Python
Django中使用locals()函数的技巧
Jul 16 Python
python爬虫框架talonspider简单介绍
Jun 09 Python
python实现装饰器、描述符
Feb 28 Python
Python实现确认字符串是否包含指定字符串的实例
May 02 Python
对Tensorflow中的矩阵运算函数详解
Jul 27 Python
详解Python3中ceil()函数用法
Feb 19 Python
Django框架中间件(Middleware)用法实例分析
May 24 Python
python3 实现的对象与json相互转换操作示例
Aug 17 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
Sep 26 Python
tensorflow求导和梯度计算实例
Jan 23 Python
python 提高开发效率的5个小技巧
Oct 19 Python
python编写Logistic逻辑回归
Dec 30 #Python
python+selenium识别验证码并登录的示例代码
Dec 21 #Python
python实现随机森林random forest的原理及方法
Dec 21 #Python
python编写分类决策树的代码
Dec 21 #Python
Python基于PyGraphics包实现图片截取功能的方法
Dec 21 #Python
用Python写王者荣耀刷金币脚本
Dec 21 #Python
python使用Apriori算法进行关联性解析
Dec 21 #Python
You might like
模仿OSO的论坛(三)
2006/10/09 PHP
PHP通过header实现文本文件下载的代码
2010/08/08 PHP
coreseek 搜索英文的问题详解
2013/06/08 PHP
详解WordPress中过滤链接与过滤SQL语句的方法
2015/12/18 PHP
PHP页面间传递值和保持值的方法
2016/08/24 PHP
Yii2中SqlDataProvider用法示例
2016/09/22 PHP
php-beanstalkd消息队列类实例分享
2017/07/19 PHP
Js+Dhtml:WEB程序员简易开发工具包(预先体验版)
2006/11/07 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
2014/02/13 Javascript
js和jquery设置disabled属性为true使按钮失效
2014/08/07 Javascript
js实现跨域的方法实例详解
2015/06/24 Javascript
JavaScript 数组- Array的方法总结(推荐)
2016/07/21 Javascript
Javascript Function.prototype.bind详细分析
2016/12/29 Javascript
JS对象的深度克隆方法示例
2017/03/16 Javascript
JavaScript运动框架 多物体任意值运动(三)
2017/05/17 Javascript
老生常谈ES6中的类
2017/07/31 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
EasyUI Tree树组件无限循环的解决方法
2017/09/27 Javascript
three.js如何实现3D动态文字效果
2021/03/03 Javascript
vue实现可移动的悬浮按钮
2021/03/04 Vue.js
[01:24:16]2018DOTA2亚洲邀请赛 4.6 全明星赛
2018/04/10 DOTA
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
Python下调用Linux的Shell命令的方法
2018/06/12 Python
浅谈Python 敏感词过滤的实现
2019/08/15 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
解决django的template中如果无法引用MEDIA_URL问题
2020/04/07 Python
Python datetime模块使用方法小结
2020/06/18 Python
PyQt5的相对布局管理的实现
2020/08/07 Python
Python 中 sorted 如何自定义比较逻辑
2021/02/02 Python
高三政治教学反思
2014/02/06 职场文书
银行领导班子四风对照检查材料
2014/09/27 职场文书
党员教师四风问题整改措施思想汇报
2014/10/08 职场文书
Nginx配置80端口访问8080及项目名地址方法解析
2021/03/31 Servers
mysql连接查询中and与where的区别浅析
2021/07/01 MySQL
python实现会员信息管理系统(List)
2022/03/18 Python
Python数据可视化之Seaborn的安装及使用
2022/04/19 Python