下載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

結束!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM