Python?hashlib模塊與subprocess模塊使用詳細(xì)介紹
1、什么是哈希hash
hash一類算法,該算法接受傳入的內(nèi)容,經(jīng)過運(yùn)算得到一串hash值
hash值的特點(diǎn):
- 只要傳入的內(nèi)容一樣,得到的hash值必然一樣
- 不能由hash值返解成內(nèi)容
- 不管傳入的內(nèi)容有多大,只要使用的hash算法不變,得到的hash值長(zhǎng)度是一定
2、hash的用途
用途1:特點(diǎn)II用于密碼密文傳輸與驗(yàn)證
用途2:特點(diǎn)I、III用于文件完整性校驗(yàn)
3、如何用
import hashlib
m=hashlib.md5()
m.update('hello'.encode('utf-8'))
m.update('world'.encode('utf-8'))
res=m.hexdigest() # 'helloworld'
print(res)
m1=hashlib.md5('he'.encode('utf-8'))
m1.update('llo'.encode('utf-8'))
m1.update('w'.encode('utf-8'))
m1.update('orld'.encode('utf-8'))
res=m1.hexdigest()# 'helloworld'
print(res)模擬撞庫(kù)
cryptograph='aee949757a2e698417463d47acac93df'
import hashlib
# 制作密碼字段
passwds=[
'alex3714',
'alex1313',
'alex94139413',
'alex123456',
'123456alex',
'a123lex',
]
dic={}
for p in passwds:
res=hashlib.md5(p.encode('utf-8'))
dic[p]=res.hexdigest()
# 模擬撞庫(kù)得到密碼
for k,v in dic.items():
if v == cryptograph:
print('撞庫(kù)成功,明文密碼是:%s' %k)
break提升撞庫(kù)的成本=>密碼加鹽
import hashlib
m=hashlib.md5()
m.update('天王'.encode('utf-8'))
m.update('alex3714'.encode('utf-8'))
m.update('蓋地虎'.encode('utf-8'))
print(m.hexdigest())4、subprocess模塊
subprocess使用當(dāng)前系統(tǒng)默認(rèn)編碼,得到結(jié)果為bytes類型,在windows下需要用gbk解碼
import subprocess
obj=subprocess.Popen('echo 123 ; ls / ; ls /root',shell=True,
stdout=subprocess.PIPE, #正確的管道
stderr=subprocess.PIPE, #錯(cuò)誤的管道
)
# print(obj)
# res=obj.stdout.read()
# print(res.decode('utf-8'))
err_res=obj.stderr.read()
print(err_res.decode('gbk')) # windows下需要用gbk解碼mac、linux用utf-8解碼到此這篇關(guān)于Python hashlib模塊與subprocess模塊使用詳細(xì)介紹的文章就介紹到這了,更多相關(guān)Python hashlib模塊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python Django Cookie 簡(jiǎn)單用法解析
這篇文章主要介紹了Python Django Cookie 簡(jiǎn)單用法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
python?數(shù)據(jù)保存為npy和npz格式并讀取的完整代碼
這篇文章主要介紹了python?數(shù)據(jù)保存為npy和npz格式并讀取,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
Python 同級(jí)目錄(兄弟目錄)調(diào)用方式
這篇文章主要介紹了Python 同級(jí)目錄(兄弟目錄)調(diào)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
新年到教你如何用Python實(shí)現(xiàn)雪夜煙花景
新年到,祝大家新年快樂,今天小編交大家如何用Python實(shí)現(xiàn)雪夜煙花景效果,實(shí)現(xiàn)代碼真的很簡(jiǎn)單,感興趣的朋友跟隨小編一起看看吧2022-01-01
Python數(shù)據(jù)挖掘中常用的五種AutoEDA 工具總結(jié)
大家好,我們都知道在數(shù)據(jù)挖掘的過程中,數(shù)據(jù)探索性分析一直是非常耗時(shí)的一個(gè)環(huán)節(jié),但也是繞不開的一個(gè)環(huán)節(jié),本篇文章帶你盤點(diǎn)數(shù)據(jù)挖掘中常見的5種 AutoEDA 工具2021-11-11
基于spring boot 日志(logback)報(bào)錯(cuò)的解決方式
今天小編就為大家分享一篇基于spring boot 日志(logback)報(bào)錯(cuò)的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02
5個(gè)Python中實(shí)現(xiàn)文字轉(zhuǎn)語音模塊的使用講解
這篇文章主要為大家詳細(xì)介紹了5個(gè)Python中實(shí)現(xiàn)文字轉(zhuǎn)語音模塊的使用,文中的示例代碼講解詳細(xì),對(duì)我們深入掌握Python有一定的幫助,需要的可以參考下2023-11-11
Python利用BeautifulSoup解析網(wǎng)頁內(nèi)容
當(dāng)今信息爆炸的時(shí)代,網(wǎng)絡(luò)上充斥著海量的數(shù)據(jù),而網(wǎng)絡(luò)爬蟲作為一種數(shù)據(jù)采集工具,扮演著至關(guān)重要的角色,BeautifulSoup 是一個(gè)Python庫(kù),它可以從HTML或XML文件中提取數(shù)據(jù),本文介紹了Python如何利用BeautifulSoup解析網(wǎng)頁內(nèi)容,需要的朋友可以參考下2024-06-06

