zoukankan      html  css  js  c++  java
  • python模块详解 hashlib

    hashlib模块  

    用于加密相关的操作,在python3中替代了md5和sha模块,主要提供SHA和MD5算法。

     MD5

    import hashlib
    
    m = hashlib.md5() #调用md5方法
    m.update(b'Hello')
    print(m.digest()) #b"x8bx1ax99Sxc4ax12x96xa8'xabxf8xc4xx04xd7" 2进制格式hash
    print(m.hexdigest()) #8b1a9953c4611296a827abf8c47804d7  16进制格式hash
    

     update()加密字符串,连续加密的结果是多个字符串拼接后加密的结果

    import hashlib
    
    m = hashlib.md5()
    m2 = hashlib.md5()
    m.update(b'Hello')
    m.update(b'World')
    print(m.hexdigest()) #68e109f0f40ca72a15e05cc22786f8e6
    
    m2.update(b'HelloWorld')
    print(m2.hexdigest())#68e109f0f40ca72a15e05cc22786f8e6
    

     SHA1

    调用方法和md5的一样

    s1 = hashlib.sha1()
    s1.update(b'Hello')
    print(s1.hexdigest())#f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
    

    hmac

    内部创建key和内容再进行处理然后加密

    import hmac
    h = hmac.new(b'123456','Hello'.encode(encoding='utf-8')) #key,value
    print(h.hexdigest()) #8d8e945298c899a7eb03fede467121fe
    
  • 相关阅读:
    php学习记录 易混淆
    自己学习smarty的一些代码 和记录
    Java 死锁
    Java多线程下单例
    Java 线程安全问题
    Java 线程状态
    Java 创建线程
    Java clone() 浅拷贝 深拷贝
    Java 多线程
    Java throw try catch
  • 原文地址:https://www.cnblogs.com/qing-chen/p/7290287.html
Copyright © 2011-2022 走看看