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的subprocess模块总结
Nov 07 Python
编写Python脚本批量下载DesktopNexus壁纸的教程
May 06 Python
python开发之基于thread线程搜索本地文件的方法
Nov 11 Python
Python多进程分块读取超大文件的方法
Apr 13 Python
python使用sqlite3时游标使用方法
Mar 13 Python
基于pandas数据样本行列选取的方法
Apr 20 Python
Pycharm无法显示动态图片的解决方法
Oct 28 Python
python使用PIL实现多张图片垂直合并
Jan 15 Python
pycharm 将python文件打包为exe格式的方法
Jan 16 Python
Python partial函数原理及用法解析
Dec 11 Python
Python tornado上传文件的功能
Mar 26 Python
keras实现VGG16 CIFAR10数据集方式
Jul 07 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
PHP XML数据解析代码
2010/05/26 PHP
详解WordPress中添加和执行动作的函数使用方法
2015/12/29 PHP
Yii清理缓存的方法
2016/01/06 PHP
删除PHP数组中的重复元素的实现代码
2017/04/10 PHP
JS 模态对话框和非模态对话框操作技巧汇总
2013/04/15 Javascript
Jquery显示和隐藏元素或设为只读(含Ligerui的控件禁用,实例说明介绍)
2013/07/09 Javascript
js获取GridView中行数据的两种方法 分享
2013/07/13 Javascript
js动态添加事件并可传参数示例代码
2013/10/21 Javascript
使用js简单实现了tree树菜单
2013/11/20 Javascript
为指定的元素添加遮罩层的示例代码
2014/01/15 Javascript
在jquery中的ajax方法怎样通过JSONP进行远程调用
2014/04/04 Javascript
angularjs中的单元测试实例
2014/12/06 Javascript
node.js中的path.extname方法使用说明
2014/12/09 Javascript
基于jQuery仿淘宝产品图片放大镜特效
2020/10/19 Javascript
Node.js模块封装及使用方法
2016/03/06 Javascript
BootStrap下拉菜单和滚动监听插件实现代码
2016/09/26 Javascript
利用vue写todolist单页应用
2016/12/15 Javascript
backbone简介_动力节点Java学院整理
2017/07/14 Javascript
深入理解angular2启动项目步骤
2017/07/15 Javascript
关于定制FileField中的上传文件名称问题
2017/08/22 Javascript
基于匀速运动的实例讲解(侧边栏,淡入淡出)
2017/10/17 Javascript
用element的upload组件实现多图片上传和压缩的示例代码
2019/02/12 Javascript
基于JavaScript实现随机点名器
2021/02/25 Javascript
在Python中使用swapCase()方法转换大小写的教程
2015/05/20 Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
2017/11/08 Python
python使用正则表达式替换匹配成功的组
2017/11/17 Python
Python----数据预处理代码实例
2019/03/20 Python
pyqt5 键盘监听按下enter 就登陆的实例
2019/06/25 Python
python中使用np.delete()的实例方法
2021/02/01 Python
会计学应届毕业生推荐信
2013/11/04 职场文书
物理学专业自荐信
2014/06/11 职场文书
师德师风自我剖析材料
2014/09/27 职场文书
班级光棍节联谊会策划书
2014/10/10 职场文书
小学班主任工作总结2015
2015/04/07 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书
画展观后感
2015/06/17 职场文书