Python中利用ItsDangerous快捷實(shí)現(xiàn)數(shù)據(jù)加密
本文完整示例代碼及文件已上傳至我的Github
倉(cāng)庫(kù)https://github.com/CNFeffery/PythonPracticalSkills
這是我的系列文章「Python實(shí)用秘技」的第11期,本系列立足于筆者日常工作中使用Python
積累的心得體會(huì),每一期為大家?guī)?lái)一個(gè)幾分鐘內(nèi)就可學(xué)會(huì)的簡(jiǎn)單小技巧。
作為系列第11期,我們即將學(xué)習(xí)的是:在Python
中快捷加密數(shù)據(jù)。
數(shù)據(jù)安全作為老生常談的話(huà)題,是我們?nèi)粘J褂?code>Python進(jìn)行諸如web
應(yīng)用開(kāi)發(fā)等任務(wù)時(shí)繞不開(kāi)的話(huà)題,我們希望通過(guò)網(wǎng)絡(luò)傳輸一些數(shù)據(jù)的同時(shí),還可以保證數(shù)據(jù)的安全,畢竟將一些敏感的數(shù)據(jù)傳輸?shù)轿粗沫h(huán)境中進(jìn)行使用是非常危險(xiǎn)的事情。
而通過(guò)使用Python
庫(kù)ItsDangerous
,我們就可以高效快捷地完成數(shù)據(jù)加密/解密的過(guò)程,它隸屬于pallets
項(xiàng)目計(jì)劃,該項(xiàng)目計(jì)劃中也包含了Flask
、Jinja
、Quart
等知名的web
開(kāi)發(fā)相關(guān)項(xiàng)目:
通過(guò)pip install itsdangerous
完成安裝后,我們就可以使用它來(lái)加密/解密數(shù)據(jù)了,雖然其提供了種類(lèi)相當(dāng)多的方法來(lái)滿(mǎn)足各種數(shù)據(jù)加密/解密場(chǎng)景,但我們?nèi)粘V恍枰玫狡鋬蓚€(gè)API
接口就足夠了:
常規(guī)的數(shù)據(jù)加密/解密
最常見(jiàn)的場(chǎng)景下,我們通過(guò)已有的密鑰,利用URLSafeSerializer()
構(gòu)建序列化器,即可將數(shù)據(jù)轉(zhuǎn)化為加密結(jié)果:
而針對(duì)加密后的結(jié)果,使用相同的密鑰構(gòu)建序列化器進(jìn)行解密即可:
可超時(shí)失效的數(shù)據(jù)加密/解密
有些場(chǎng)景下,我們希望加密生成的數(shù)據(jù),從其生成開(kāi)始的時(shí)間點(diǎn)算起,經(jīng)歷若干時(shí)間后超時(shí)報(bào)廢,則可以使用URLSafeTimedSerializer()
,其用法與URLSafeSerializer()
基本一致,只是在loads()
解密數(shù)據(jù)時(shí)特別地可設(shè)置參數(shù)max_age
,當(dāng)解密時(shí)距離此加密結(jié)果生成的時(shí)間超過(guò)max_age
對(duì)應(yīng)的秒數(shù),則會(huì)觸發(fā)錯(cuò)誤:
這樣就可以滿(mǎn)足日常絕大多數(shù)使用場(chǎng)景了??,有關(guān)ItsDangerous
的更多進(jìn)階內(nèi)容請(qǐng)移步其官網(wǎng)https://itsdangerous.palletsprojects.com/
。
到此這篇關(guān)于Python中利用ItsDangerous快捷實(shí)現(xiàn)數(shù)據(jù)加密的文章就介紹到這了,更多相關(guān)Python數(shù)據(jù)加密內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python飛機(jī)大戰(zhàn)pygame游戲框架搭建操作詳解
這篇文章主要介紹了python飛機(jī)大戰(zhàn)pygame游戲框架搭建操作,設(shè)計(jì)pygame模塊游戲創(chuàng)建、初始化、精靈組設(shè)置等相關(guān)操作技巧,需要的朋友可以參考下2019-12-12python threading和multiprocessing模塊基本用法實(shí)例分析
這篇文章主要介紹了python threading和multiprocessing模塊基本用法,結(jié)合實(shí)例形式詳細(xì)分析了Python中threading和multiprocessing模塊基本概念、功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-07-07python如何實(shí)現(xiàn)單鏈表的反轉(zhuǎn)
這篇文章主要介紹了python如何實(shí)現(xiàn)單鏈表的反轉(zhuǎn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02python通過(guò)exifread模塊獲得圖片exif信息的方法
這篇文章主要介紹了python通過(guò)exifread模塊獲得圖片exif信息的方法,實(shí)例分析了Python操作exifread模塊的技巧,需要的朋友可以參考下2015-03-03Python數(shù)據(jù)結(jié)構(gòu)與算法之圖的基本實(shí)現(xiàn)及迭代器實(shí)例詳解
這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)與算法之圖的基本實(shí)現(xiàn)及迭代器,結(jié)合實(shí)例形式詳細(xì)分析了數(shù)據(jù)結(jié)構(gòu)與算法中圖的實(shí)現(xiàn)及迭代器相關(guān)算法原理與操作技巧,需要的朋友可以參考下2017-12-12Python可視化神器pyecharts之繪制地理圖表練習(xí)
這篇文章主要介紹了Python可視化神器pyecharts之繪制地理圖表,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07安裝python-docx后,無(wú)法在pycharm中導(dǎo)入的解決方案
這篇文章主要介紹了安裝python-docx后,無(wú)法在pycharm中導(dǎo)入的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03pycharm日志總是彈出“無(wú)法運(yùn)行Git,未安裝Git”的問(wèn)題
這篇文章主要介紹了pycharm日志總是彈出“無(wú)法運(yùn)行Git,未安裝Git”的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06利用Python將彩色圖像轉(zhuǎn)為灰度圖像的兩種方法
這篇文章主要給大家介紹了關(guān)于利用Python將彩色圖像轉(zhuǎn)為灰度圖像的兩種方法,以及python 批量將圖片轉(zhuǎn)為灰度圖的方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-12-12python字典嵌套字典的情況下找到某個(gè)key的value詳解
這篇文章主要介紹了python字典嵌套字典的情況下找到某個(gè)key的value詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07