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利用hook技术破解https的实例代码
Mar 25 Python
Python内建数据结构详解
Feb 03 Python
Python3中的真除和Floor除法用法分析
Mar 16 Python
python TCP Socket的粘包和分包的处理详解
Feb 09 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
May 05 Python
Python中*args和**kwargs的区别详解
Sep 17 Python
Python Django view 两种return的实现方式
Mar 16 Python
解决Django中checkbox复选框的传值问题
Mar 31 Python
详解python如何引用包package
Jun 07 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
Aug 27 Python
如何在scrapy中集成selenium爬取网页的方法
Nov 18 Python
python工具dtreeviz决策树可视化和模型可解释性
Mar 03 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 8小时时间差的解决方法小结
2009/12/22 PHP
IP攻击升级,程序改进以对付新的攻击
2010/11/23 PHP
php中convert_uuencode()与convert_uuencode函数用法实例
2014/11/22 PHP
CI框架AR数据库操作常用函数总结
2016/11/21 PHP
JavaScript中的数组特性介绍
2014/12/30 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
2015/03/20 Javascript
纯js实现无限空间大小的本地存储
2015/06/18 Javascript
不想让浏览器运行javascript脚本的方法
2015/11/20 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
jQuery进行组件开发完整实例
2015/12/15 Javascript
JavaScript中的原型继承基础学习教程
2016/05/06 Javascript
jQuery 常见小例汇总
2016/12/14 Javascript
js实现数组和对象的深浅拷贝
2017/09/30 Javascript
vue element ui validate 主动触发错误提示操作
2020/09/21 Javascript
浅谈vue websocket nodeJS 进行实时通信踩到的坑
2020/09/22 NodeJs
JS绘图Flot如何实现动态可刷新曲线图
2020/10/16 Javascript
[59:08]Ti4 冒泡赛第二天 NEWBEE vs Titan 2
2014/07/15 DOTA
详解Python迭代和迭代器
2016/03/28 Python
[原创]pip和pygal的安装实例教程
2017/12/07 Python
python实现发送邮件功能代码
2017/12/14 Python
基于Python Numpy的数组array和矩阵matrix详解
2018/04/04 Python
Python pyinotify模块实现对文档的实时监控功能方法
2018/10/13 Python
Django model序列化为json的方法示例
2018/10/16 Python
python读取txt文件中特定位置字符的方法
2018/12/24 Python
Elasticsearch py客户端库安装及使用方法解析
2020/09/14 Python
Python如何获取文件路径/目录
2020/09/22 Python
python 多线程爬取壁纸网站的示例
2021/02/20 Python
css3媒体查询中device-width和width的区别详解
2020/03/27 HTML / CSS
html5超简单的localStorage实现记住密码的功能实现
2017/09/07 HTML / CSS
说一下mysql, oracle等常见数据库的分页实现方案
2012/09/29 面试题
青春飞扬演讲稿
2014/09/11 职场文书
2014年学校领导班子对照检查材料
2014/09/19 职场文书
大学生迟到检讨书500字
2014/10/17 职场文书
计划生育个人总结
2015/03/02 职场文书
体育教师研修感悟
2015/11/18 职场文书
大学生团支书竞选稿
2015/11/21 职场文书