码迷,mamicode.com
首页 > 编程语言 > 详细

Python中模块之hashlib&hmac的讲解

时间:2017-10-01 21:11:17      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:ash   upd   line   size   sha   ber   创建对象   new   width   

                                     hashlib & hmac的讲解

两个模块主要用于加密相关的操作。

1. hashlib模块

  1. md5

    具体代码如下

    import hashlib
    ha_m5 = hashlib.md5()#创建对象
    ha_m5.update(‘abc‘.encode(encoding=‘utf-8‘))#添加对象时需要指定编码
    print(ha_m5.digest())#以二进制格式显示加密信息
    print(ha_m5.hexdigest())#以十六进制格式显示加密信息(常用)
    
  2. sha1

    具体代码如下

    ha_s1 = hashlib.sha1()
    ha_s1.update(‘abc‘.encode(encoding=‘utf-8‘))
    print(ha_s1.digest())
    print(ha_s1.hexdigest())
    
  3. sha224

    具体代码如下

    ha_s224 = hashlib.sha224()
    ha_s224.update(‘abc‘.encode(encoding=‘utf-8‘))
    print(ha_s224.digest())
    print(ha_s224.hexdigest())
    
  4. sha256

    具体代码如下

    ha_s256 = hashlib.sha256()
    ha_s256.update(‘abc‘.encode(encoding=‘utf-8‘))
    print(ha_s256.digest())
    print(ha_s256.hexdigest())
    
  5. sha384

    具体代码如下

    ha_s384 = hashlib.sha384()
    ha_s384.update(‘abc‘.encode(encoding=‘utf-8‘))
    print(ha_s384.digest())
    print(ha_s384.hexdigest())
    
  6. sha512

    具体代码如下

    ha_s512 = hashlib.sha224()
    ha_s512.update(‘abc‘.encode(encoding=‘utf-8‘))
    print(ha_s512.digest())
    print(ha_s512.hexdigest())
    

    注:加密是对数据的整体加密,即进行加密时当前的数据进行整体加密。

2. hmac模块

该模块加密是先把数据存储到字典中,然后再进行加密,方法与上述方法类似。

具体代码如下

import hmac
hm = hmac.new(b‘abc‘)
hm = hmac.new(‘萨芬‘.encode(encoding=‘utf-8‘),b‘bads‘)
print(hm.digest())
print(hm.hexdigest())

注:加密数据时一定要指定数据编码格式。

Python中模块之hashlib&hmac的讲解

标签:ash   upd   line   size   sha   ber   创建对象   new   width   

原文地址:http://www.cnblogs.com/single-boy/p/7617768.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!