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

作者:lwanttowin 时间:2022-09-17 15:19:01 

前言

最开始想尝试在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://www.jb51.net/article/114364.htm

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

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

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

来源:http://blog.csdn.net/lwanttowin/article/details/78859709

标签:python,Crypto模块
0
投稿

猜你喜欢

  • http状态码一览表以及HTTP响应的返回头信息

    2010-03-31 14:45:00
  • 详解使用uni-app开发微信小程序之登录模块

    2024-05-11 09:15:57
  • Python 多继承中的一个诡异现象 既是 Father又是grandfather

    2023-02-06 10:24:34
  • Oracle如何直接运行OS命令(上)第1/2页

    2010-07-30 12:54:00
  • Python爬虫框架Scrapy安装使用步骤

    2022-02-23 13:49:09
  • Python如何自动获取目标网站最新通知

    2021-07-14 18:18:16
  • struts2.3.24+spring4.1.6+hibernate4.3.11+mysql5.5.25开发环境搭建图文教程

    2024-01-18 04:21:31
  • Python实例方法与类方法和静态方法介绍与区别分析

    2023-06-18 05:59:53
  • python 求两个向量的顺时针夹角操作

    2021-05-26 13:31:10
  • PHP PDOStatement::bindValue讲解

    2023-06-14 11:16:02
  • js保留两位小数方法总结

    2023-07-18 17:34:35
  • Python3中exp()函数用法分析

    2023-06-11 03:17:24
  • python实现网上购物系统

    2021-06-12 16:32:26
  • CI框架出现mysql数据库连接资源无法释放的解决方法

    2023-11-15 07:13:35
  • 关于WARNING:Ignoring invalid distribution -pencv-python....警告信息的处理方法(已解决!)

    2021-01-14 18:14:28
  • PyCharm License Activation激活码失效问题的解决方法(图文详解)

    2021-11-20 12:52:23
  • Python入门教程(四十)Python的NumPy数组创建

    2023-11-14 08:36:32
  • Python 调用有道翻译接口实现翻译

    2023-03-11 06:35:34
  • Python+OpenCV实现信用卡数字识别的方法详解

    2022-01-15 14:25:41
  • python中的tkinter库弹窗messagebox详解

    2023-11-12 04:02:05
  • asp之家 网络编程 m.aspxhome.com