python3 安装模块_python3 Crypto模块的安装与使用
前言
安裝Cryto模塊用pip3 install pycrypto老是會報錯。搞了半天,最終決定在linux下面去做。
以下流程限于linux系統:
Crypto不是自帶的模塊,需要下載。
我下載了之后,發現下載的是crypto而不是Crypto(就是差個首字母大小寫)
而crypto.Cipher而又不能運行,報錯,最后在:
找到解答,需要在python目錄里面把Python3.5\Lib\site-packages下的crypto文件改名,沒錯,就是直接改成Crypto。結果就能用了...
一? 安裝python
apt-get install python3.6
二? 安裝pip3
1.? 首先安裝setuptoolwget? --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
三? ? 安裝cryptoapt-get install python3-dev
pip3 install Crypto --user
pip3 install --upgrade pycrypt? --user
下面主要介紹一下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的倍數。16,32,48..
print(s)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # 輸出加密后的字符串
print(base64.b64encode(s))? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # 輸出加密后的字符串的base64編碼。
print(cipher.decrypt(s))
這是為了一開始接觸的小白(我)理解的,一般通用一點的處理方法可以參考
至于為什么要把已經加密后的字符串再用base64編碼,我覺得是對字符串的處理是基于二進制的,而base64的原理是在每6個二進制數的前面加兩個零,這樣的話,ascii對處理好的字符串編碼就全部可見了(起碼不是那些問號字符..),用charset模塊去測試一下,發現也是像我所說。
DES算法使用與AES的使用一樣,只不過要注意初始密碼字符串一定要是8位,而其他地方把AES換成DES就行(要是不回想配置環境的事情,Python還是很方便的..)
這個Crypto模塊還有哈希算法等其他一下加密算法,如果有大神或者小伙伴把這個模塊挖掘后,歡迎在下面留言哦,順便也教我使用咯,謝謝大家啦
總結
以上是生活随笔為你收集整理的python3 安装模块_python3 Crypto模块的安装与使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 把一个人的特点写具体作文_五年级下册第五
- 下一篇: 健康险的承保标准有哪些