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读写Excel文件方法介绍
Nov 22 Python
Scrapy抓取京东商品、豆瓣电影及代码分享
Nov 23 Python
Python获取当前函数名称方法实例分享
Jan 18 Python
Python 利用pydub库操作音频文件的方法
Jan 09 Python
Django Rest framework解析器和渲染器详解
Jul 25 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
Dec 03 Python
Pyqt5自适应布局实例
Dec 13 Python
浅析Python数字类型和字符串类型的内置方法
Dec 22 Python
python列表的逆序遍历实现
Apr 20 Python
PyTorch在Windows环境搭建的方法步骤
May 12 Python
Python如何将装饰器定义为类
Jul 30 Python
如何在Win10系统使用Python3连接Hive
Oct 15 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个人网站架设连环讲(二)
2006/10/09 PHP
在命令行下运行PHP脚本[带参数]的方法
2010/01/22 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
2017/11/28 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
2018/09/28 PHP
img标签中onerror用法
2009/08/13 Javascript
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
JS中的public和private对象,即static修饰符
2012/01/18 Javascript
javascript中拼接HTML字符串的最快、最好的方法
2014/06/07 Javascript
jquery禁止回车触发表单提交
2014/12/12 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
2015/02/13 Javascript
JavaScript将XML转成JSON的方法
2015/03/12 Javascript
jQuery选择器源码解读(一):Sizzle方法
2015/03/31 Javascript
js完美解决IE6不支持position:fixed的bug
2015/04/24 Javascript
Javascript动态创建表格及删除行列的方法
2015/05/15 Javascript
javascript实现Table排序的方法
2015/05/15 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
webpack中使用iconfont字体图标的方法
2018/02/22 Javascript
Node.js原生api搭建web服务器的方法步骤
2019/02/15 Javascript
vue中利用Promise封装jsonp并调取数据
2019/06/18 Javascript
ES6 Array常用扩展的应用实例分析
2019/06/26 Javascript
JavaScript实现点击切换功能
2021/01/27 Javascript
Python的迭代器和生成器使用实例
2015/01/14 Python
python cx_Oracle的基础使用方法(连接和增删改查)
2017/11/19 Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
2019/08/12 Python
Python+redis通过限流保护高并发系统
2020/04/15 Python
深入研究HTML5实现图片压缩上传功能
2016/03/25 HTML / CSS
澳大利亚首屈一指的鞋类品牌:Tony Bianco
2018/03/13 全球购物
德国网上超市:myTime.de
2019/08/26 全球购物
高一生物教学反思
2014/01/17 职场文书
人事部岗位职责范本
2014/03/05 职场文书
母亲节感恩活动记录
2014/03/16 职场文书
经济贸易系毕业生求职信
2014/05/31 职场文书
2014大学生批评与自我批评思想汇报
2014/09/21 职场文书
安全隐患整改报告
2014/11/06 职场文书
2015年学习部工作总结范文
2015/03/31 职场文书
2019最新版试用期劳动合同模板!
2019/07/04 职场文书