zoukankan      html  css  js  c++  java
  • 加密模块hashlib模块(* *)

    用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 越往后加密算法越复杂,这些算法都是不可逆的,MD5 算法

     1 import hashlib
     2 obj=hashlib.md5()
     3 obj.update("admin".encode("utf8"))
     4 print(obj.hexdigest())    #21232f297a57a5a743894a0e4a801fc3
     5 
     6 obj.update("root".encode("utf8"))#这时候加密的字符串是"adminroot"
     7 print(obj.hexdigest())#   4b3626865dc6d5cfe1c60b855e68634a
     8                       #   4b3626865dc6d5cfe1c60b855e68634a
     9 obj2=hashlib.md5("sb".encode("utf8"))#以上加密算法虽然依然非常厉害,但时候存在缺陷,即:通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。,这个步骤叫加盐
    10 obj2.update("admin".encode("utf8"))
    11 print(obj2.hexdigest())    #e560d00d77b6997bbcba34ce36a0d745

    python 还有一个 hmac 模块,它内部对我们创建 key 和 内容 再进行处理然后再加密:

    import hmac
    h = hmac.new('alvin'.encode('utf8'))
    h.update('hello'.encode('utf8'))
    print (h.hexdigest())#320df9832eab4c038b6c1d7ed73a5940
  • 相关阅读:
    字符串类型
    数据类型之整型
    数据类型
    两个版本的区别
    变量
    DHCP
    MySQL数据库编译及入门
    NFS网络文件系统
    Rsync 数据同步
    互联网数据分享平台
  • 原文地址:https://www.cnblogs.com/jiawen010/p/9929015.html
Copyright © 2011-2022 走看看