python中的hashlib和base64加密模組使用執行個體

來源:互聯網
上載者:User
看到好幾位博主通過對模組的各個擊破學習python,我也效法一下,本篇說一下python中加密涉及到的模組。

hashlib

hashlib模組支援的密碼編譯演算法有md5 sha1 sha224 sha256 sha384 sha512(加密原理請參考此處),使用起來也很簡單。

以md5加密為例,有兩種方法:

一、 追加模式

程式碼範例:

代碼如下:


import hashlib #引入hashlib模組

mm = hashlib.md5() #建立一個md5對象
mm.update("Hello") #通過update方法加密文本
mm.update(" world!") #追加,這兩句相當於 mm.update("Hello world!")
print mm.digest() #輸出加密後的位元據
print mm.hexdigest() #輸出加密後的十六進位資料

二、 一句話

如果不需要追加,只用加密一段文本,可用這種形式,程式碼範例:

代碼如下:


import hashlib

hashlib.new("md5","Hello world!").digest()


此外,md5等演算法對象還提供了digest_size和block_size等屬性,指示加密後文本的大小。

對於其他的密碼編譯演算法,只要在代碼中替換「md5」即可,不再舉例。

base64

這個模組提供的密碼編譯演算法並不安全,但十分簡單,有時候會用到。
程式碼範例:

代碼如下:


import base64

a = "Hello world!"
b = base64.encodestring(a) #加密
c = base64.decodestring(b) #解密

print a==c


python還有諸多的第三方模組提供更多的加密方式,以後學到的時候再說。
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.