Python中加密資料最方便的方式

資料安全作為老生常談的話題,是我們日常使用Python進行諸如web應用開發等任務時繞不開的話題,我們希望透過網路傳輸一些資料的同時,還可以保證資料的安全,畢竟將一些敏感的資料傳輸到未知的環境中進行使用是非常危險的事情。

而透過使用Python庫ItsDangerous,我們就可以高效快捷地完成資料加密/解密的過程,它屬於pallets專案計劃,該專案計劃中也包含了FlaskJinjaQuart等知名的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」,送你十週入門數據分析電子書唷!期待你與我互動起來~

文章推薦

餅圖變形記,肝了3000字,收藏就是學會!

MySQL必須掌握4種語言!

太實用了!4種方法教你輕鬆製作互動式儀表板!

跟資料打交道的人都得會的這8種資料模型,滿足工作中95%的需求

妙呀!一行Python程式碼

--

--

這是一個專注於數據分析職場的內容部落格,聚焦一批數據分析愛好者,在這裡,我會分享數據分析相關知識點推送、(工具/書籍)等推薦、職場心得、熱點資訊剖析以及資源大盤點,希望同樣熱愛數據的我們一同進步! 臉書會有更多互動喔:https://www.facebook.com/shujvfenxi/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
數據分析那些事

這是一個專注於數據分析職場的內容部落格,聚焦一批數據分析愛好者,在這裡,我會分享數據分析相關知識點推送、(工具/書籍)等推薦、職場心得、熱點資訊剖析以及資源大盤點,希望同樣熱愛數據的我們一同進步! 臉書會有更多互動喔:https://www.facebook.com/shujvfenxi/