下载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())
复制代码
key1.txt
执行结果
环境:python3.6 Windows10

结束!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果已经安装了Crypto(如PyCryptodome),但在尝试导入时仍然收到`ModuleNotFoundError: No module named 'Crypto'`的错误,这通常意味着以下几个可能的问题: 1. **包版本问题**:可能是你安装的 Cryptopycryptodome 版本不兼容当前项目的需求。你可以尝试使用 `pip list` 查看已安装的 Crypto 相关包,并确认是否是最新的版本。 2. **路径问题**:Python 在查找模块时会先检查当前工作目录及其上级目录。确保你在导入时使用的路径或直接使用 `import Crypto` 而不是 `from Crypto import *`,这样可以避免导入问题。 3. **环境变量问题**:如果你在多个 Python 环境中工作,确保你在使用 Crypto 时是在正确的虚拟环境中。 4. **冲突或缺失**:有时候其他可能覆盖了 Crypto,可以尝试先卸载掉所有 Crypto 相关的包,然后重新安装。 5. **系统级别的包**:如果你是在 Python 安装的全局环境中遇到这个问题,检查你的系统是否有名为 Crypto 的预装软件,这可能导致冲突。 为了解决这个问题,你可以尝试以下步骤: 1. **更新或重新安装**:使用 `pip install --upgrade pycryptodome` 或 `pip uninstall pycryptodome` 后再重新安装。 2. **清理缓存**:删除Python的缓存目录(通常是 `~/.cache/pip` 或 `site-packages/cache`),然后重新安装。 3. **检查环境**:确认在执行代码前已激活包含 Crypto 的正确Python环境。 如果以上步骤都不能解决问题,可能需要查看具体的错误日志或寻求更详细的帮助,如查看官方文档、技术论坛或社区求助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值