下载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==\n'
解密后: b'123456789.a'
执行结果
环境:python3.6 Windows10
结束!
下载Crypto,CyCrypto,PyCryptodome 报错问题的更多相关文章
- xadmin库的下载安装及奇葩报错的解决方法
今天主要讲xadmin库的下载和安装的.......各种问题....... 先注明:我使用的是python3.6,Django2.0,所以xadmin也应该是2.0版本会比较适配. 所以这里先给个xa ...
- Windows下载安装RabbitMQ教程-------报错卸载重新安装 (要卸载干净 -看下文)
Could not update enabled plugins file at c:\Users\忙聸鹿忙聳掳忙聰戮\AppData\Roaming\RabbitMQ\enabled_plugins ...
- 下载nltk数据包报错
安装nltk需要两步:安装nltk和安装nltk_data数据包 安装nltk 安装nltk很简单,可以直接在pycharm环境中安装,flie -> settings-> Python ...
- docker pull下载镜像时的报错及其解决方法
使用docker pull从镜像仓库拉取镜像时报错如下: [root@docker-registry ~]# docker pull centos Using default tag: latest ...
- Linux wget下载https类型文件报错解决方法 转自老左博客
原文链接:http://www.laozuo.org/3648.html 一般我们远程调用下载文件直接用wget就可以,一般文件路径类型是http.如果有遇到是https就会下载出错,稍微不注意的新手 ...
- 在action中进行文件下载,下载时运行不报错,可是也不下载
在写前端下载页面时,使用ajax方式调用action中的方法,然后就将下载内容返回js中了,所以没有下载,之后改为使用Windows.location进行下载,就没有问题了. action中代码: i ...
- git上下载的thinkphp框架报错解决方法
git上下载的thinkphp5框架使用.gitignore没上传依赖,需要通过composer进行下载依赖,使用composer install或者composer update即可解决.
- laravel 下载报错:Unable to guess the mime type as no guessers are available
在使用laravel的download()函数实现下载功能时,报错如下:Unable to guess the mime type as no guessers are available (Did ...
- 解决使用requests_html模块,html.render()下载chromium报错、速度慢问题
来源:https://www.cnblogs.com/xiaoaiyiwan/p/10776493.html 稍作修改 1.第一步,代码如下: from requests_html import HT ...
随机推荐
- JSP(3)—Cookie和Session
HTTP是一个无状态的协议,web服务器无法分辨出那些请求是同一个浏览器发出的,浏览器每一次请求都是孤立的 即使HTTP1.1支持持续链接,但当用户有一段时间没有请求时,连接也会关闭. 如何实现网上的 ...
- delphi button 实现下拉列表
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- Spark2.2(三十九):如何根据appName监控spark任务,当任务不存在则启动(任务存在当超过多久没有活动状态则kill,等待下次启动)
业务需求 实现一个根据spark任务的appName来监控任务是否存在,及任务是否卡死的监控. 1)给定一个appName,根据appName从yarn application -list中验证任务是 ...
- ionic生成全尺寸icon和splash
http://www.jianshu.com/p/eda363eb28d3 重新添加platform --no-resources可以禁止重新生成icon和splash ionic cordova p ...
- PHP 实现自动加载
自动载入主要是省去了一个个类去 include 的繁琐,在 new 时动态的去检查并 include 相应的 class 文件. 先上代码: //index.php <?php class Cl ...
- VS插件File Nesting
开发者们一直以来都是使用Visual Studio的解决方案管理器 中的嵌套功能管理项目的子文件夹,使得文件组织清晰.便于访问.鉴于现在的项目巨大的文件数目,如果能将这种嵌入能力应用于项目的其他子项上 ...
- Unity3D中录制和输出wav文件
近期在做视频录制方面的事情,看了下音频的录制和输出.主要参考官方的FrameCapturer: https://github.com/unity3d-jp/FrameCapturer wav文件结构较 ...
- E-WORK 对接 MTS 系统
E-WORK 目前的 E-WORK 系统主要包含了如下功能: 技能类型的管理 比如说品质检验技能.测试技能(成品测试或半成品测试).组装装配技能(打螺丝.合壳.点胶等).包装技能(封箱. ...
- iOS UITextView 设置 NSLinkAttributeName 属性,点击链接跳转
@interface ViewController ()<UITextViewDelegate> - (void)viewDidLoad{ [super viewDidLoad]; ...
- 分布式Id教程
转自:https://baijiahao.baidu.com/s?id=1584913615817222458&wfr=spider&for=pc 一,题记 所有的业务系统,都有生成I ...