zoukankan      html  css  js  c++  java
  • 第十章、hashlib模块和hmac模块

    第十章、hashlib模块和hmac模块

    一、hashlib模块

    hash是一种算法,接收传入的内容,经过运算得到的一串hash值

    hash的特点:

    1. 具有唯一性
    2. 安全性,可以用于保存非明文密码
    3. 无论传入的什么内容,返回的hash值长度都是固定的
    import hashlib
    m=hashlib.md5() #创建了hash对象
    print(type(m)) #<class '_hashlib.HASH'>
    m.update("hello".encode('utf8'))#必须写编码格式否则报错
    print(m.hexdigest())    #得到hash值
    #5d41402abc4b2a76b9719d911017c592
    
    m.update("hel".encode('utf8'))
    m.update("lo".encode('utf8'))
    print(m.hexdigest()) 
    #5d41402abc4b2a76b9719d911017c592
    #唯一性
    

    二、hash模块

    hmac模块内部对我们创建key和内容做过某种处理后再加密。

    和hashlib模块类似,hash模块具有加盐的功能,保证hmac最终结果一致,必须要hmac.new括号内指定的初始key一样

    也具有唯一性

    import hmac
    h1=hmac.new(b"hash")#创建了hmac对象h1,加盐(”hash“这个字符串)
    #注意hmac模块只接受二进制数据的加密
    print(type(h1)) #<class 'hmac.HMAC'>
    
    h1.update(b"hello")
    print(h1.hexdigest())
    #bea9d9de0f3dc7706393020b00404324
    
    h1.update(b"hel")
    h1.update(b"lo")
    print(h1.hexdigest())
    #bea9d9de0f3dc7706393020b00404324
    
  • 相关阅读:
    CH负责内容的两个人——北漂18年(66)
    perl 跨行匹配;
    elk之nginx
    perl 分析binlog 定位错误sql 思路
    rsyslog 日志格式和输出
    rsyslog 定义模板
    rsyslog ~ 波浪号
    过滤器
    rsyslog masg和rawmsg的区别
    金融行业的BI应用分析
  • 原文地址:https://www.cnblogs.com/demiao/p/11378263.html
Copyright © 2011-2022 走看看