python Crypto模块的安装与使用方法

前言

最开始想尝试在windows下面安装python3.6,虽然python安装成功,但在安装Cryto模块用pip3 install pycrypto老是会报错。老夫搞了半天,最终决定在linux下面去做。

以下流程限于linux系统:

Crypto不是自带的模块,需要下载。http://www.voidspace.org.uk/python/modules.shtml#pycrypto

我下载了之后,发现下载的是crypto而不是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)             #解密 

这是为了一开始接触的小白(我)理解的,一般通用一点的处理方法可以参考http://www.jb51.net/article/114364.htm

至于为什么要把已经加密后的字符串再用base64编码,我觉得是对字符串的处理是基于二进制的,而base64的原理是在每6个二进制数的前面加两个零,这样的话,ascii对处理好的字符串编码就全部可见了(起码不是那些问号字符..),用charset模块去测试一下,发现也是像我所说。

DES算法使用与AES的使用一样,只不过要注意初始密码字符串一定要是8位,而其他地方把AES换成DES就行(要是不回想配置环境的事情,Python还是很方便的..)

这个Crypto模块还有哈希算法等其他一下加密算法,如果有大神或者小伙伴把这个模块挖掘后,欢迎在下面留言哦,顺便也教我使用咯,谢谢大家啦

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • windows下python安装paramiko模块和pycrypto模块(简单三步)

    前言 Python中使用SSH需要用到OpenSSH,而OpenSSH依赖于paramiko模块,而paramiko模块又依赖于pycrypto模块,因此要在python中使用SSH,我们需要先安装pycrypto模块,然后再安装paramiko模块.下面话不多说了,来一起看看详细的介绍: 安装方法 1>首先要确保python安装好,且环境变量设置好.(关于python的安装,本文不再赘述.) 2>安装pycrypto: 到下面这个网站下载编译好的pycrypto(也可以自己到官网下载pycr

  • 在Python中使用M2Crypto模块实现AES加密的教程

    AES(英文:Advanced Encryption Standard,中文:高级加密标准),是一种区块加密标准.AES将原始数据分成多个4×4字节矩阵来处理,通过预先定义的密钥对每个字节矩阵中的每个字节进行异或.替换.移位以及线性变换操作来达到加密的目的.密钥长度可以是128,192或256比特.     下面是一个利用Python M2Crypto库,并使用aes_128_ecb算法进行加密和解密的例子.首先介绍一下几个关键的点: 1.iv(Initialization vector),即初

  • python Crypto模块的安装与使用方法

    前言 最开始想尝试在windows下面安装python3.6,虽然python安装成功,但在安装Cryto模块用pip3 install pycrypto老是会报错.老夫搞了半天,最终决定在linux下面去做. 以下流程限于linux系统: Crypto不是自带的模块,需要下载.http://www.voidspace.org.uk/python/modules.shtml#pycrypto 我下载了之后,发现下载的是crypto而不是Crypto(就是差个首字母大小写) 而crypto.Cip

  • Python Paramiko模块的安装与使用详解

    一.前言 常见的解决方法都会需要对远程服务器必要的配置,如果远程服务器只有一两台还好说,如果有N台,还需要逐台进行配置,或者需要使用代码进行以上操作时,上面的办法就不太方便了.而使用paramiko可以很好的解决以上问题,比起前面的方法,它仅需要在本地上安装相应的软件(python以及PyCrypto),对远程服务器没有配置要求,对于连接多台服务器,进行复杂的连接操作特别有帮助.下面本文就来详细的介绍Python Paramiko模块的安装与使用,一起学习学习吧.. 二.安装 安装paramik

  • 对python添加模块路径的三种方法总结

    之前对mac os系统自带的python进行了升级,结果发现新安装的python的site-packages目录并没有加到python的系统路径中,所以在使用其他库时发现出现了缺少模块的错误. 查看python的模块路径方法是 import sys print sys.path 这个就会打印出所有的模块路径. 下边是在这个python系统路径中加入新的模块路径的三种方法: 1.添加环境变量PYTHONPATH,python会添加此路径下的模块,在.bash_profile文件中添加如下类似行:

  • Python selenium模块的安装和配置教程

    目录 一.selenium的安装以及简单应用 二.selenium的简单使用 三.selenium提取数据 1.driver对象常用的属性和方法 2.driver对象定位标签元素获取标签对象的方法 3.标签对象提取文本内容和属性值 四.selenium无头模式 一.selenium的安装以及简单应用 我们以谷歌浏览器的chromedriver为例 1.在Python虚拟环境中安装selenium模块 pip/pip3 install selenium 2.下载版本符合的webdriver 以ch

  • python cx_Oracle模块的安装和使用详细介绍

    python cx_Oracle模块的安装 最近需要写一个数据迁移脚本,将单一Oracle中的数据迁移到MySQL Sharding集群,在linux下安装cx_Oracle感觉还是有一点麻烦的,整理一下,做个总结. 对于Oracle客户端,不只需要安装相应的python模块(这里我用了Oracle官方的python模块--cx_Oracle),还需要安装Oracle Client,一般选择Instant Client就足够了,还需要配置tnsnames.ora(当然也可以简单的通过host:p

  • Node.js模块全局安装路径配置方法

    下载安装NodeJS后,在自己选择的路径下会有如下的文件: 默认情况下NodeJS安装会同时安装npm(模块管理器:用于管理用户require的模块,有全局和本地两种). 注: 全局:执行npm install <模块的名字> -g 就会将模块装在全局路径下,当用户在程序中require(<模块的名字>)的时候不用考虑模块在哪,如果不修改全局路径,用户下载的模块会默认在C:\Users\Administrator\AppData\Roaming\npm这个路径下. 局部:执行npm

  • python os模块常用的29种方法使用详解

    os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 print(os.getcwd()) >>E:\pycharm\test os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.chdir('E:\pycharm') print(os.getcwd()) >>E:\pycharm os.curdir 是一个值,返回当前目录: ('.') print(os.curdir) >>. os

  • 一分钟带你掌握Python中pip的安装与使用方法

    目录 一.简单介绍 二.下载安装 三.最常用命令 1.显示版本和路径 2.获取帮助 3.升级 pip 4.安装包 5.升级包 6.卸载包 7.搜索包 8.显示安装包信息 9.列出已安装的包 10.查看指定包的详细信息 一.简单介绍 pip 是 Python 包管理工具,该工具提供了对Python 包的查找.下载.安装和卸载的功能,现在大家用到的所有包不是自带的就是通过pip安装的.Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具.给出pip官网链接:pip官

  • Python pyautogui模块实现鼠标键盘自动化方法详解

    本文简单介绍如何使用 Python 的 pyautogui 模块实现鼠标的自动移动以及键盘的自行输入. 该模块不是 Python 自带的, 因此执行以下命令进行安装 # pyautogui模块依赖image模块,没有image会报ImportError: No module named 'PIL'错误 pip install image pip install pyautogui 官方文档介绍:https://pyautogui.readthedocs.io/en/latest/ 使用 pyau

  • Python开发之pip安装及使用方法详解

    pip是什么 其实,pip就是 Python标准库(The Python Standard Library)中的一个包,这个包比较特殊,用它可以来管理Python标准库(The Python Standard Library)中其他的包.pip支持从PyPI(https://pypi.org/ ),版本控制,本地项目以及直接从分发文件进行安装.pip是一个命令行程序. 安装pip后,会向系统添加一个pip命令,该命令可以从命令提示符运行. 目前,pip 是The Python Packaging

随机推荐