国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Python > 正文

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

2024-09-09 19:03:21
字體:
供稿:網(wǎng)友

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

一.使用base64

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

優(yōu)點(diǎn):方法簡(jiǎn)單

缺點(diǎn):不保險(xiǎn),別人拿到密文可以自己解密出明文

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

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

Python3中base64模塊與Python2使用方法有了明顯的不一樣,接下來簡(jiǎn)要介紹下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.

首先導(dǎo)入base64模塊

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

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

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

我們?cè)囍肂ase64方式加密:

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

最后用Base64方式解密:

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

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

二.使用pycrypto

Python有個(gè)專門的加密解密工具包pycropto,這個(gè)包里面實(shí)現(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ìn)階經(jīng)典教程》

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 玉溪市| 三江| 哈尔滨市| 霍林郭勒市| 石泉县| 磴口县| 莱芜市| 许昌县| 高雄县| 东平县| 台中县| 清丰县| 漳平市| 泽库县| 大宁县| 兴宁市| 阳原县| 喀什市| 霍林郭勒市| 三河市| 镇坪县| 尉犁县| 临猗县| 新乐市| 班玛县| 理塘县| 烟台市| 盐津县| 象山县| 丰顺县| 类乌齐县| 万州区| 兰州市| 定襄县| 阿勒泰市| 阳原县| 齐齐哈尔市| 高安市| 兰西县| 新绛县| 平塘县|