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