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通过解析网页实现看报程序的方法
Aug 04 Python
Python爬取三国演义的实现方法
Sep 12 Python
利用Python为iOS10生成图标和截屏
Sep 24 Python
python实现寻找最长回文子序列的方法
Jun 02 Python
python获取url的返回信息方法
Dec 17 Python
Python容器使用的5个技巧和2个误区总结
Sep 26 Python
Python使用tkinter模块实现推箱子游戏
Oct 08 Python
python实现tail实时查看服务器日志示例
Dec 24 Python
Python如何测试stdout输出
Aug 10 Python
python 实现逻辑回归
Dec 30 Python
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
May 17 Python
Python Pygame实战在打砖块游戏的实现
Mar 17 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
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
2009/04/25 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
2014/04/14 PHP
PHP中JSON的应用技巧
2015/10/10 PHP
php中如何执行linux命令详解
2018/11/06 PHP
PHP-FPM和Nginx的通信机制详解
2019/02/01 PHP
PHP设计模式之PHP迭代器模式讲解
2019/03/22 PHP
laravel自定义分页的实现案例offset()和limit()
2019/10/15 PHP
关于javascript 回调函数中变量作用域的讨论
2009/09/11 Javascript
Google Dart编程语法和基本类型学习教程
2013/11/27 Javascript
基于javascript实现页面加载loading效果
2020/09/15 Javascript
JavaScript实现多重继承的方法分析
2018/01/09 Javascript
JS获取子节点、父节点和兄弟节点的方法实例总结
2018/07/06 Javascript
详解Vue 全局变量,局部变量
2019/04/17 Javascript
解决Vue中使用keepAlive不缓存问题
2020/08/04 Javascript
使用Python的Scrapy框架编写web爬虫的简单示例
2015/04/17 Python
Python中scatter函数参数及用法详解
2017/11/08 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
2018/05/24 Python
Python3enumrate和range对比及示例详解
2019/07/13 Python
Tensorflow获取张量Tensor的具体维数实例
2020/01/19 Python
Pandas时间序列:时期(period)及其算术运算详解
2020/02/25 Python
Python计算指定日期是今年的第几天(三种方法)
2020/03/26 Python
Python实现播放和录制声音的功能
2020/08/12 Python
python实现马丁策略的实例详解
2021/01/15 Python
基于ccs3的timeline时间线实现方法
2020/04/30 HTML / CSS
美国购买汽车零件网站:Buy Auto Parts
2018/04/02 全球购物
L’AGENCE官网:加州女装品牌
2018/06/03 全球购物
美国酒店控股公司:Choice Hotels
2018/06/15 全球购物
过滤器的用法
2013/10/08 面试题
材料加工硕士生求职信
2013/10/10 职场文书
行政助理的岗位职责
2014/02/18 职场文书
2014年党员加强作风建设思想汇报
2014/09/15 职场文书
培训督导岗位职责
2015/04/10 职场文书
六一儿童节致辞
2015/07/31 职场文书
CSS三大特性继承性、层叠性和优先级详解
2022/01/18 HTML / CSS
分享Python获取本机IP地址的几种方法
2022/03/17 Python
关于mysql中string和number的转换问题
2022/06/14 MySQL