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运用于数据分析的简单教程
Mar 27 Python
Python中的ceil()方法使用教程
May 14 Python
python自动翻译实现方法
May 28 Python
Python操作csv文件实例详解
Jul 31 Python
python中WSGI是什么,Python应用WSGI详解
Nov 24 Python
利用python3随机生成中文字符的实现方法
Nov 24 Python
python中copy()与deepcopy()的区别小结
Aug 03 Python
Django模型序列化返回自然主键值示例代码
Jun 12 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
Sep 11 Python
Python基于内置函数type创建新类型
Oct 22 Python
python爬虫之利用selenium模块自动登录CSDN
Apr 22 Python
Python 操作pdf pdfplumber读取PDF写入Exce
Aug 14 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
屏蔽浏览器缓存另类方法
2006/10/09 PHP
PHP文件上传主要代码讲解
2013/09/30 PHP
PHP的pcntl多进程用法实例
2015/03/19 PHP
PHP也能干大事 随机函数
2015/04/14 PHP
php支持中文字符串分割的函数
2015/05/28 PHP
PHP执行linux命令常用函数汇总
2016/02/02 PHP
php常用图片处理类
2016/03/16 PHP
基于jQuery图片平滑连续滚动插件
2009/04/27 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(下:动画篇)
2010/03/24 Javascript
js调用webservice构造SOAP进行身份验证
2016/04/27 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
2016/05/28 Javascript
JS实现课堂随机点名和顺序点名
2017/03/09 Javascript
JavaScript实现计数器基础方法
2017/10/10 Javascript
JS运动特效之任意值添加运动的方法分析
2018/01/24 Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
2018/03/20 Javascript
微信小程序自定义底部弹出框
2020/11/16 Javascript
对vue中methods互相调用的方法详解
2018/08/30 Javascript
vue 中Virtual Dom被创建的方法
2019/04/15 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
2019/09/13 Javascript
基于jQuery拖拽事件的封装
2020/11/29 jQuery
[00:55]深扒TI7聊天轮盘语音出处3
2017/05/11 DOTA
[00:23]魔方之谜解锁款式
2018/12/20 DOTA
Python并发之多进程的方法实例代码
2018/08/15 Python
Python利用递归实现文件的复制方法
2018/10/27 Python
使用django实现一个代码发布系统
2019/07/18 Python
使用python实现回文数的四种方法小结
2019/11/24 Python
Python hashlib模块实例使用详解
2019/12/24 Python
Python基于paramunittest模块实现excl参数化
2020/04/26 Python
简述你对Statement,PreparedStatement,CallableStatement的理解
2013/03/25 面试题
记者岗位职责
2014/01/06 职场文书
军训口号
2014/06/13 职场文书
学校花圃的标语
2014/06/18 职场文书
你会写请假条吗?
2019/06/26 职场文书
Elasticsearch Recovery 详细介绍
2022/04/19 Java/Android
SpringBoot 集成短信和邮件 以阿里云短信服务为例
2022/04/22 Java/Android
Java Spring Boot请求方式与请求映射过程分析
2022/06/25 Java/Android