欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python3 常見解密加密算法實例分析【base64、MD5等】

 更新時間:2019年12月19日 09:55:52   作者:nudt_qxx  
這篇文章主要介紹了python3 常見解密加密算法,結(jié)合實例形式分析了Python的base64模塊加密,以及基于pycrypto模塊的MD5加密等相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了python3 常見解密加密算法。分享給大家供大家參考,具體如下:

一.使用base64

Base64編碼,64指A-Z、a-z、0-9、+和/這64個字符,還有“=”號不屬于編碼字符,而是填充字符。

優(yōu)點:方法簡單

缺點:不保險,別人拿到密文可以自己解密出明文

編碼原理:將3個字節(jié)轉(zhuǎn)換成4個字節(jié)((3 X 8)=24=(4X6)),先讀入3個字節(jié),每讀一個字節(jié),左移8位,再右移四次,每次6位,這樣就有4個字節(jié)了。

解碼原理:將4個字節(jié)轉(zhuǎn)換成3個字節(jié),先讀入4個6位(用或運算),每次左移6位,再右移3次,每次8位,這樣就還原了。

Python3中base64模塊與Python2使用方法有了明顯的不一樣,接下來簡要介紹下base64模塊。

Python 3.5.2+ (default, Aug  5 2016, 08:07:14)
[GCC 6.1.1 20160724] on linux
Type "help", "copyright", "credits" or "license" for more information.

首先導入base64模塊

>>> import base64
>>> my_str='hello'

然后把字符串轉(zhuǎn)碼為UTF-8格式:

>>> utf_str=my_str.encode(encoding="utf-8")
>>> utf_str
b'hello'

我們試著用Base64方式加密:

>>> word=base64.b64encode(utf_str)
>>> word
b'aGVsbG8='

最后用Base64方式解密:

>>> hello=base64.b64decode(word.decode())
>>> hello
b'hello'
>>> hello.decode()
'hello'

可以看到,已經(jīng)成功解密出來!

二.使用pycrypto

Python有個專門的加密解密工具包pycropto,這個包里面實現(xiàn)了MD2,MD4,MD5,RIPEMD,SHA1,SHA256等加密算法。

>>> from Crypto.Hash import MD5
>>> obj = MD5.new()
>>> obj.update(b"hello")
>>> obj.hexdigest()
>>> obj.hexdigest()
'5d41402abc4b2a76b9719d911017c592'

PS:關(guān)于加密解密感興趣的朋友還可以參考本站在線工具:

文字在線加密解密工具(包含AES、DES、RC4等):
http://tools.jb51.net/password/txt_encode

MD5在線加密工具:
http://tools.jb51.net/password/CreateMD5Password

在線散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt

在線MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools.jb51.net/password/hash_md5_sha

在線sha1/sha224/sha256/sha384/sha512加密工具:
http://tools.jb51.net/password/sha_encode

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python文件與目錄操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • pandas分組聚合(agg,transform,apply)

    pandas分組聚合(agg,transform,apply)

    在SQL中我們經(jīng)常使用 GROUP BY 將某個字段,按不同的取值進行分組, 在pandas中也有g(shù)roupby函數(shù),本文主要介紹了pandas分組聚合(agg,transform,apply),具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • 使用pandas中的DataFrame數(shù)據(jù)繪制柱狀圖的方法

    使用pandas中的DataFrame數(shù)據(jù)繪制柱狀圖的方法

    下面小編就為大家分享一篇使用pandas中的DataFrame數(shù)據(jù)繪制柱狀圖的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python繪制三維圖的詳細新手教程

    python繪制三維圖的詳細新手教程

    通常我們用 Python 繪制的都是二維平面圖,但有時也需要繪制三維場景圖,下面這篇文章主要給大家介紹了關(guān)于python繪制三維圖的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • Pycharm安裝Qt Design快捷工具的詳細教程

    Pycharm安裝Qt Design快捷工具的詳細教程

    這篇文章主要介紹了Pycharm安裝Qt Design快捷工具,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Python編寫單元測試代碼實例

    Python編寫單元測試代碼實例

    這篇文章主要介紹了Python編寫單元測試代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • 三分鐘內(nèi)解決cfgrib的安裝問題

    三分鐘內(nèi)解決cfgrib的安裝問題

    這篇文章主要介紹了三分鐘內(nèi)解決cfgrib的安裝問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Jmeter通過OS進程取樣器調(diào)用Python腳本實現(xiàn)參數(shù)互傳

    Jmeter通過OS進程取樣器調(diào)用Python腳本實現(xiàn)參數(shù)互傳

    這篇文章主要介紹了Jmeter通過OS進程取樣器調(diào)用Python腳本實現(xiàn)參數(shù)互傳,描述在cmd中調(diào)用上面的Python腳本并傳入兩個參數(shù)展開主題,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-03-03
  • 五個Pandas?實戰(zhàn)案例帶你分析操作數(shù)據(jù)

    五個Pandas?實戰(zhàn)案例帶你分析操作數(shù)據(jù)

    pandas是基于NumPy的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。Pandas納入了大量庫和一些標準的數(shù)據(jù)模型,提供了高效操作大型數(shù)據(jù)集的工具。pandas提供大量快速便捷地處理數(shù)據(jù)的函數(shù)和方法。你很快就會發(fā)現(xiàn),它是使Python強大而高效的數(shù)據(jù)分析環(huán)境的重要因素之一
    2022-01-01
  • 使用ChatGPT進行Abaqus二次開發(fā)詳解

    使用ChatGPT進行Abaqus二次開發(fā)詳解

    這篇文章主要為大家介紹了使用ChatGPT進行Abaqus二次開發(fā)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Python?字符替換的四方法

    Python?字符替換的四方法

    本文主要介紹了Python?字符替換的四方法,主要包括replace、translate、maketrans?和正則這是四種方法,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01

最新評論