下载Crypto,CyCrypto,PyCryptodome 报错问题

python下载Crypto,CyCrypto,PyCryptodome,如有site-packages中存在crypto、pycrypto,在pip之前,需要pip3 uninstall crypto、pip3 uninstall pycrypto,否则无法安装成功。这里顺带说一下pycrypto和Crypto,这两个库已经有很久没有人维护了,最好下载PyCryptodome,用法都是一样的。

看到网上很多解决下载这些模块报错问题的,有说去site-packages中将crypto文件改成Crypto,但是我下载好的名字就是Crypto,所以这个方法对我没用。

错误下载方法如下:

pip install Crypto

pip install CyCrypto

pip install PyCryptodome

或者取PyCharm里面的Project Interpreter里面下载都不行。

或者去https://pypi.org/simple/pycryptodome/里面下载,解压后使用cmd命令框安装python setup.py install 也不行。

最后发现一篇博客,安装方法如下:

pip3 install pycryptodome 
快速方式:pip3 install -i https://pypi.douban.com/simple pycryptodome 
PyCrypto 已死,请替换为 PyCryptodome 
pip3 install 模块 –upgrade –target=”指定的目录”
--------------------- 
作者:Quincy379 
来源:CSDN 
原文:https://blog.csdn.net/qq_33733970/article/details/79263359 
版权声明:本文为博主原创文章,转载请附上博文链接!

 只需在cmd命令框里或者PyCharm的Terminal里面使用pip3 install -i https://pypi.douban.com/simple pycryptodome 直接安装,便可正常使用该模块。

附带加解密代码块:

# coding:utf-8
# 使用DES进行加密:

import Crypto.Cipher.DES3
import base64



# 限定密钥长度
def auto_fill(x):
    if len(x) > 24:
        return "密钥长度不能大于等于24位!"
    else:
        while len(x) < 16:
            x += " "
        return x.encode()


# 密钥路径
# 普通密钥
# key = open('C:\py\test1\key2.txt').read()
# 使用MD5进行加密后的密钥路径
key = open('D:key1.txt').read()[8:-8]

# 使用DES3加密
content = "123456789.a"
x = Crypto.Cipher.DES3.new(auto_fill(key), Crypto.Cipher.DES3.MODE_ECB)
a = base64.encodebytes(x.encrypt(auto_fill(content)))
print("加密后:", a)
# 使用DES3解密
b = x.decrypt(base64.decodebytes(a))
print("解密后:", b.strip())
57ed3398153c96260bb88e34ae12c4d6
key1.txt
加密后: b'7gVSFHcMUPVjoS0xRHuBkw==
'
解密后: b'123456789.a'
执行结果

环境:python3.6  Windows10

结束!

原文地址:https://www.cnblogs.com/aaronthon/p/10402554.html