Python中加密資料最方便的方式
資料安全作為老生常談的話題,是我們日常使用Python
進行諸如web
應用開發等任務時繞不開的話題,我們希望透過網路傳輸一些資料的同時,還可以保證資料的安全,畢竟將一些敏感的資料傳輸到未知的環境中進行使用是非常危險的事情。
而透過使用Python庫ItsDangerous
,我們就可以高效快捷地完成資料加密/解密的過程,它屬於pallets
專案計劃,該專案計劃中也包含了Flask
、Jinja
、Quart
等知名的web
開發相關專案:
透過pip install itsdangerous
完成安裝後,我們就可以使用它來加密/解密資料了,雖然其提供了種類相當多的方法來滿足各種資料加密/解密場景,但我們日常只需要用到其兩個API
介面就足夠了:
「常規的資料加密/解密」
最常見的場景下,我們透過已有的金鑰,利用URLSafeSerializer()
構建序列化器,即可將資料轉化為「加密」結果:
而針對加密後的結果,使用相同的金鑰構建序列化器進行「解密」即可:
「可超時失效的資料加密/解密」
有些場景下,我們希望加密生成的資料,從其生成開始的時間點算起,經歷若干時間後超時報廢,則可以使用URLSafeTimedSerializer()
,其用法與URLSafeSerializer()
基本一致,只是在loads()
解密資料時特別地可設定引數max_age
,當解密時距離此加密結果生成的時間超過max_age
對應的秒數,則會觸發錯誤:
這樣就可以滿足日常絕大多數使用場景了😊,有關ItsDangerous
的更多進階內容請移步其官網https://itsdangerous.palletsprojects.com/
。
本期分享結束,我們下回見~👋
文章來源於:Python大數據分析
文章連結:https://mp.weixin.qq.com/s/UZ5hYpZNlUWW_pF_C9zIfw
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
我是「數據分析那些事」。常年分享數據分析乾貨,不定期分享好用的職場技能工具。各位也可以關注我的Facebook,按讚我的臉書並私訊「10」,送你十週入門數據分析電子書唷!期待你與我互動起來~