python Crypto模塊的安裝與使用方法
前言
最開始想嘗試在windows下面安裝python3.6,雖然python安裝成功,但在安裝Cryto模塊用pip3 install pycrypto老是會報錯。老夫搞了半天,最終決定在linux下面去做。
以下流程限于linux系統(tǒng):
Crypto不是自帶的模塊,需要下載。http://www.voidspace.org.uk/python/modules.shtml#pycrypto
我下載了之后,發(fā)現(xiàn)下載的是crypto而不是Crypto(就是差個首字母大小寫)
而crypto.Cipher而又不能運(yùn)行,報錯,最后在:https://stackoverflow.com/questions/31485110/no-module-named-crypto-cipher/31485157 找到解答,需要在python目錄里面把Python27\Lib\site-packages下的crypto文件改名,沒錯,就是直接改成Crypto。結(jié)果就能用了...
(因為我上面下載的是免安裝版,所以沒安裝VS2008。我用過pip,下載不了Crypto)windows下安裝這些模塊真是招罪,要是我的電腦再好一點(diǎn)就弄雙系統(tǒng)了..扯遠(yuǎn)了..
0x00 安裝python
apt-get install python3.6
0x01 安裝pip3
1.首先安裝setuptool
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26 tar -zxvf setuptools-19.6.tar.gz cd setuptools-19.6.tar.gz python3 setup.py build python3 setup.py install
2.然后直接安裝pip就搞定了
wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb tar -zxvf pip-8.0.2.tar.gz cd pip-8.0.2 python3 setup.py build python3 setup.py install
0x02 安裝crypto
apt-get install python3-dev pip3 install Crypto pip3 install --upgrade pycrypt
下面主要介紹一下Crypto.Cipher的AES算法。
代碼如下:
from Crypto.Cipher import AES import base64 secret = "12345678912345678912345678912345" #由用戶輸入的16位或24位或32位長的初始密碼字符串 cipher = AES.new(secret) #通過AES處理初始密碼字符串,并返回cipher對象 s = cipher.encrypt("1234567891234567") #輸入需要加密的字符串,注意字符串長度要是16的倍數(shù)。16,32,48.. print s #輸出加密后的字符串 print base64.b64encode(s) #輸出加密后的字符串的base64編碼。 print cipher.decrypt(s) #解密
這是為了一開始接觸的小白(我)理解的,一般通用一點(diǎn)的處理方法可以參考http://www.dbjr.com.cn/article/114364.htm
至于為什么要把已經(jīng)加密后的字符串再用base64編碼,我覺得是對字符串的處理是基于二進(jìn)制的,而base64的原理是在每6個二進(jìn)制數(shù)的前面加兩個零,這樣的話,ascii對處理好的字符串編碼就全部可見了(起碼不是那些問號字符..),用charset模塊去測試一下,發(fā)現(xiàn)也是像我所說。
DES算法使用與AES的使用一樣,只不過要注意初始密碼字符串一定要是8位,而其他地方把AES換成DES就行(要是不回想配置環(huán)境的事情,Python還是很方便的..)
這個Crypto模塊還有哈希算法等其他一下加密算法,如果有大神或者小伙伴把這個模塊挖掘后,歡迎在下面留言哦,順便也教我使用咯,謝謝大家啦
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python3加密解密庫Crypto的RSA加解密和簽名/驗簽實現(xiàn)方法實例
- Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加簽驗簽
- Python3.7基于hashlib和Crypto實現(xiàn)加簽驗簽功能(實例代碼)
- python3安裝crypto出錯及解決方法
- 下載python中Crypto庫報錯:ModuleNotFoundError: No module named ‘Crypto’的解決
- Python基于pycrypto實現(xiàn)的AES加密和解密算法示例
- python的Crypto模塊實現(xiàn)AES加密實例代碼
- python3.6 實現(xiàn)AES加密的示例(pyCryptodome)
- windows下python安裝paramiko模塊和pycrypto模塊(簡單三步)
- Python使用PyCrypto實現(xiàn)AES加密功能示例
- Python使用Pycrypto庫進(jìn)行RSA加密的方法詳解
- 在Python中使用M2Crypto模塊實現(xiàn)AES加密的教程
- python加密解密庫cryptography使用openSSL生成的密匙加密解密
相關(guān)文章
教你Pycharm安裝使用requests第三方庫的詳細(xì)教程
PyCharm安裝第三方庫是十分方便的,無需pip或其他工具,平臺就自帶了這個功能而且操作十分簡便,今天通過本文帶領(lǐng)大家學(xué)習(xí)Pycharm安裝使用requests第三方庫的詳細(xì)教程,感興趣的朋友一起看看吧2021-07-07python代碼 if not x: 和 if x is not None: 和 if not x is None:使用
這篇文章主要介紹了python代碼 if not x: 和 if x is not None: 和 if not x is None:使用介紹,需要的朋友可以參考下2016-09-09Django零基礎(chǔ)入門之運(yùn)行Django版的hello world
這篇文章主要介紹了Django零基礎(chǔ)入門之運(yùn)行Django版的hello world,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-09-09Python descriptor(描述符)的實現(xiàn)
這篇文章主要介紹了Python descriptor(描述符)的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11基于python實現(xiàn)學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了基于python實現(xiàn)學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-10-10Django框架orM與自定義SQL語句混合事務(wù)控制操作
這篇文章主要介紹了Django框架orM與自定義SQL語句混合事務(wù)控制操作,結(jié)合實例形式分析了同一個方法里面既有ORM又有自定義SQL 語句的情況下事務(wù)控制相關(guān)操作技巧,需要的朋友可以參考下2019-06-06