您的位置:首頁>科技>正文

Python 3.6 為帳號和密碼安全添加了新的 secrets 模組

Python部落(python.freelycode.com)組織翻譯, 禁止轉載, 歡迎轉發。

Python 3.6 是 Python 語言主要的最新版本, 它增加了一個新的模組 secrets, 這個模組用來產生增強式加密的亂數來管理一些秘密資訊, 例如 帳號認證, 權杖以及相關的私密資訊。 相比於預設的偽亂數產生器模組 random, Python 開發者很可能會更加喜歡 secrets 模組, 因為它不僅意味著加密與安全, 還可以用來做建模與模擬。

下面讓我們使用一個例子說明一下, 如何使用 secrets 模組來產生增強式加密的偽亂數和權杖。

如何使用 secrets 來產生增強式加密的偽亂數

首先需要載入 secrets 模組與 string 模組。 然後我們產生一個由大小寫字母和數位組成的字串。

現在, 我們使用 secrets 模組的 choice 方法來隨機抽取字元以產生金鑰。 因為這個金鑰是使用字母與數位的混合形式, 所以人們認為這個金鑰是安全的。 同時也強烈推薦大家使用這種字母和數位混合的形式來保護你的密碼, 防止駭客的攻擊。

如何使用 secrets 模組產生權杖

secrets 模組有好幾種方法來產生權杖, 下面簡單介紹幾個使用 secrets 模組產生權杖的例子來幫助理解。

token_bytes 函數來產生一個含有 n 個位元組的隨機位元組串。 當沒有指定或者使用 n 的時候, 程式會自動使用一個合理的預設值。 在第一個例子中, 沒有指定位元組數, 因此 python 會自動選擇一個合理的數。 在第二個例子中, 我們再次使用了 token_bytes 函數, 並指定其位元組數為 8。

接下來的例子中使用的是 token_hex 函數來產生一個隨機的十六進位的文本字串。 在最後的例子中, 使用 token_urlsafe 函數來返回一個隨機的 URL 安全文本字串。 人們使用 Base64 來編碼文本字串。

對於權杖, 應該使用多少位元組的數?

你應該使用足夠多的隨機字元來加密你的權杖以應對暴力攻擊。 建議最少使用 32 位元組(256 比特)的隨機字元來保護你的權杖以防止漏洞。

Python 開發者社區將把 secrets 模組作為 Python 3.6 的一個重要補充, 使用 Python 3.6 的開發者現在擁有了一個可靠的方式來產生增強式加密的權杖和金鑰。

對於Python 3.6 添加 secrets 模組你有什麼看法呢?你想嘗試使用 secrets 模組來產生你的權杖和金鑰嗎? 請在下面的評論區分享你的觀點。

英文原文:http://evontech.com/what-we-are-saying/entry/python-36-adds-new-secrets-module-for-robust-account-and-password-security.html
譯者:無
Next Article
喜欢就按个赞吧!!!
点击关闭提示