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之for循环语句
Oct 02 Python
python使用PyGame播放Midi和Mp3文件的方法
Apr 24 Python
在Python中使用全局日志时需要注意的问题
May 06 Python
Python通过select实现异步IO的方法
Jun 04 Python
Python3中的真除和Floor除法用法分析
Mar 16 Python
编写Python爬虫抓取暴走漫画上gif图片的实例分享
Apr 20 Python
从源码解析Python的Flask框架中request对象的用法
Jun 02 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
Jun 13 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
Aug 03 Python
python将logging模块封装成单独模块并实现动态切换Level方式
May 12 Python
python 绘制场景热力图的示例
Sep 23 Python
python 下载文件的几种方法汇总
Jan 06 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 二维数组和三维数组的过滤
2016/03/16 PHP
PHP生成及获取JSON文件的方法
2016/08/23 PHP
PHP无限极分类函数的实现方法详解
2017/04/15 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
2019/10/22 PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
2019/12/31 PHP
支持ie与FireFox的剪切板操作代码
2009/09/28 Javascript
页面回到顶部的三种实现(锚标记,js)
2012/10/01 Javascript
表单元素的submit()方法和onsubmit事件应用概述
2013/02/01 Javascript
基于jQuery中对数组进行操作的方法
2013/04/16 Javascript
Js放到HTML文件中的哪个位置有什么区别
2013/08/21 Javascript
jQuery EasyUI API 中文帮助文档和扩展实例
2016/08/01 Javascript
Javascript实现汉字和拼音互转的终极方案
2016/10/19 Javascript
ES6新特性之数组、Math和扩展操作符用法示例
2017/04/01 Javascript
解读vue生成的文件目录结构及说明
2017/11/27 Javascript
官方推荐react-navigation的具体使用详解
2018/05/08 Javascript
利用Node.js如何实现文件循环覆写
2019/04/05 Javascript
node实现简单的增删改查接口实例代码
2019/08/22 Javascript
浅谈Three.js截图并下载的大坑
2019/11/01 Javascript
[03:08]TI9战队档案 - Vici Gaming
2019/08/20 DOTA
python实现多线程的方式及多条命令并发执行
2016/06/07 Python
Python连接PostgreSQL数据库的方法
2016/11/28 Python
Python读取视频的两种方法(imageio和cv2)
2018/04/15 Python
Django项目中model的数据处理以及页面交互方法
2018/05/30 Python
django之状态保持-使用redis存储session的例子
2019/07/28 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
python OpenCV GrabCut使用实例解析
2019/11/11 Python
Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)
2019/12/11 Python
Python实现粒子群算法的示例
2021/02/14 Python
实例讲解使用HTML5 Canvas绘制阴影效果的方法
2016/03/25 HTML / CSS
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
JD Sports法国:英国篮球和运动时尚的领导者
2017/09/28 全球购物
世界领先的豪华床上用品供应商之一:Bedeck Home
2019/03/18 全球购物
英国办公家具网站:Furniture At Work
2019/10/07 全球购物
银行学习十八大感想
2014/01/11 职场文书
运动会通讯稿150字
2014/02/15 职场文书
单位个人查摆问题及整改措施
2014/10/28 职场文书