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加密的二次加密结果一样——>继续自己悟把。
  • 相关阅读:
    ASP.NET编程的十大技巧
    C#学习心得(转)
    POJ 1177 Picture (线段树)
    POJ 3067 Japan (树状数组)
    POJ 2828 Buy Tickets (线段树)
    POJ 1195 Mobile phones (二维树状数组)
    HDU 4235 Flowers (线段树)
    POJ 2886 Who Gets the Most Candies? (线段树)
    POJ 2418 Cows (树状数组)
    HDU 4339 Query (线段树)
  • 原文地址:https://www.cnblogs.com/nuomin/p/7871685.html
Copyright © 2011-2022 走看看