下载Crypto,CyCrypto,PyCryptodome 报错问题

时间:2024-06-07 10:06:44

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
来源:****
原文:https://blog.****.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==\n'
解密后: b'123456789.a'

执行结果

环境:python3.6  Windows10

结束!