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 19 Python
自己使用总结Python程序代码片段
Jun 02 Python
使用Python的Flask框架表单插件Flask-WTF实现Web登录验证
Jul 12 Python
深入浅析ImageMagick命令执行漏洞
Oct 11 Python
Python脚本按照当前日期创建多级目录
Mar 01 Python
树莓派实现移动拍照
Jun 22 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
Feb 15 Python
tensorflow 实现数据类型转换
Feb 17 Python
python数据库编程 Mysql实现通讯录
Mar 27 Python
Python ORM框架Peewee用法详解
Apr 29 Python
利用keras使用神经网络预测销量操作
Jul 07 Python
Python pysnmp使用方法及代码实例
Aug 24 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自定义函数收代码
2010/08/01 PHP
ThinkPHP实现支付宝接口功能实例
2014/12/02 PHP
postfixadmin忘记密码后的修改密码方法详解
2016/07/20 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
2019/10/03 PHP
关于jQuery参考实例2.0 用jQuery选择元素
2013/04/07 Javascript
下拉菜单点击实现连接跳转功能的js代码
2013/05/19 Javascript
JS获取鼠标坐标的实例方法
2013/07/18 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
2014/05/01 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
2014/10/17 Javascript
JS获取鼠标坐标位置实例分析
2016/01/20 Javascript
Extjs 点击复选框在表格中增加相关信息行
2016/07/12 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
2016/09/26 Javascript
jQuery插件FusionCharts绘制ScrollColumn2D图效果示例【附demo源码下载】
2017/03/22 jQuery
Bootstrap里的文件分别代表什么意思及其引用方法
2017/05/01 Javascript
vue.js指令v-for使用以及下标索引的获取
2019/01/31 Javascript
详解Vue的watch中的immediate与watch是什么意思
2019/12/30 Javascript
Vue基于iview table展示图片实现点击放大
2020/08/05 Javascript
举例讲解Django中数据模型访问外键值的方法
2015/07/21 Python
通过实例浅析Python对比C语言的编程思想差异
2015/08/30 Python
怎样使用Python脚本日志功能
2016/08/14 Python
Python编程实现的图片识别功能示例
2017/08/03 Python
python实现对excel进行数据剔除操作实例
2017/12/07 Python
Python 利用内置set函数对字符串和列表进行去重的方法
2018/06/29 Python
python2.7实现邮件发送功能
2018/12/12 Python
Python3.5内置模块之time与datetime模块用法实例分析
2019/04/27 Python
在Keras中实现保存和加载权重及模型结构
2020/06/15 Python
关于tensorflow softmax函数用法解析
2020/06/30 Python
Farfetch台湾官网:奢侈品牌时尚购物平台
2019/06/17 全球购物
2015年消防工作总结
2015/04/24 职场文书
2015年小学体育工作总结
2015/05/22 职场文书
最美乡村教师观后感
2015/06/11 职场文书
2019职场单身人才调研报告:互联网行业单身比例最高
2019/08/07 职场文书
读《庄子》有感:美而不自知
2019/11/06 职场文书
Go使用协程交替打印字符
2021/04/29 Golang
Mysql排序的特性详情
2021/11/01 MySQL
一级电子管军用接收机测评
2022/04/05 无线电