zoukankan      html  css  js  c++  java
  • pyhton3 hashlib模块

    hashlib模块提供一下常量属性

      hashlib.algorithms_guaranteed

        获取保证在所有平台上此模块支持的哈希算法名称的集合

      hashlib.algorithms_available

        获取可以运行在Python解释器中的哈希算法名称的集合

    哈希对象常用的方法

      h = hashlib.md5()  或  h = hashlib.new("md5")        # md5可以替换为其他的哈希类型

      h.update(arg)

        将字节对象arg填充到哈希对象中,arg通常为要加密的字符串

        update()方法需要接收的参数是一个字节对象(字节字符串,如:b"Hello,World!"或"Hello World".encode="utf8")

      h.digest()

        返回加密结果,它是一个字节对象,长度为 h.digest_size,包含的字节范围 0 ~ 255

      h.hexdigest()

        返回加密结果,它是一个字符串对象,长度为 h.digest_size * 2,只包含16进制数字

     1 import hashlib
     2 
     3 # 1.创建一个hash对象
     4 m = hashlib.md5()
     5 
     6 # 2.填充要加密的数据
     7 m.update("password".encode("utf8")) #或者 h.update(b"password")
     8 
     9 # 3.获取加密结果
    10 print(m.hexdigest())   #5f4dcc3b5aa765d61d8327deb882cf99
    11 
    12 # 4.二次加密   
    13 m.update("admin".encode("utf8"))   
    14 print(m.hexdigest())   #80a19f669b02edfbc208a5386ab5036b
    15 
    16 # 5.再次创建一个hash对象
    17 m1 = hashlib.md5()
    18 
    19 # 6.填充要加密的数据
    20 m1.update("passwordadmin".encode("utf8"))
    21 
    22 # 7.获取加密结果
    23 print(m1.hexdigest())   #80a19f669b02edfbc208a5386ab5036b
    24 
    25 #m1加密的结果等于m加密的二次加密结果一样——>继续自己悟把。
  • 相关阅读:
    winform 剔除空格与换行显示
    编码
    todo
    react高阶函数组件
    Docker-compose Setup for Self-hosting Development & Deployment Tools
    Self-hosting Sentry With Docker and Docker-compose
    how does Array.prototype.slice.call() work?
    todo reading
    a better git log
    https://coderwall.com/p/7smjkq/multiple-ssh-keys-for-different-accounts-on-github-or-gitlab
  • 原文地址:https://www.cnblogs.com/nuomin/p/7871685.html
Copyright © 2011-2022 走看看