zoukankan      html  css  js  c++  java
  • python_90_hashlib模块

    #用于加密相关的操作,3.x里代替了2.x中的md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
    import hashlib
    m=hashlib.md5()
    m.update(b'hello')
    print(m.digest)#2进制hash
    print(m.hexdigest())#16进制hash
    m.update(b"It's me")
    print(m.hexdigest())#hash结果为累计的,详见下式
    
    # ######## md5 ########
    m2=hashlib.md5()
    m2.update(b"helloIt's me")
    print(m2.hexdigest())#与上式hash结果一样
    
    # ######## sha1 ########(已基本不用)
    hash = hashlib.sha1()
    hash.update('admin'.encode(encoding='utf-8'))#也可以为字节格式
    print(hash.hexdigest())
    # ######## sha256 ########
    hash = hashlib.sha256()
    hash.update(b'admin')#也可以encode下
    print(hash.hexdigest())
    # ######## sha384 ########
    hash = hashlib.sha384()
    hash.update('admin'.encode())#也可以为字节格式
    print(hash.hexdigest())
    # ######## sha512 ########
    hash = hashlib.sha512()
    hash.update(b'zhong')#字节格式不支持中文
    print(hash.hexdigest())
    
    ######## 中文格式 ########
    hash = hashlib.sha512()
    hash.update('中国'.encode(encoding='utf-8'))
    print(hash.hexdigest())
    
    '更厉害的加密:python 还有一个 hmac 模块,它内部对我们创建 key 和 内容 再进行处理然后再加密'
    
    import hmac
    h = hmac.new(b'21234',b'love')#可将字节转换为encode,字节只支持ascll码,不支持中文
    print(h.hexdigest())
    
    h = hmac.new('天王盖地虎'.encode(encoding='utf-8'), '宝塔镇河妖'.encode(encoding='utf-8'))
    print(h.hexdigest())
    
  • 相关阅读:
    js 类对象
    图片自动轮播及点击图标切换图片
    js 常用方法
    js-案例 国家-省市-区域之间的三级联动
    JS 基础知识之传智播客2
    JS 基础知识之传智播客1
    div居中
    formatDate 格式化日期 ,给小于10的月日,加0,如01 02 03
    Radiobutton改成文字样式
    如何在Android平台下进行Socket通信
  • 原文地址:https://www.cnblogs.com/tianqizhi/p/8452555.html
Copyright © 2011-2022 走看看