zoukankan      html  css  js  c++  java
  • python hashilib模块

    摘要算法模块 :

      能够把一个字符串数据类型的变量,转换成一个定长的,密文的字符串,字符串中的每一个字符都是一个十六进制数字.

      对于同一个字符串,不管这个字符串有多长,只要是相同的字符串,无论在任何环境下,执行多少次,在任何语言中,只要使用相同的算法/相同的手段得到的结果永远都是相同的.

      字符串不相同,得到的结果一定不同

    # hashlib模块提供了摘要算法,如md5,sha1
    # md5和sha1调用方法完全类似,不过sha1结果是40位16进制字符串.
    # 通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常为16进制的字符串)
    # 摘要函数是一个单项函数,通过数据转换数据串容易,反推很难
    
    import hashlib
    # s = 'dkjlfhg'
    # a = hashlib.md5()   #将算法赋值给a
    # a.update(s.encode('utf-8'))#转码为utf-8,本身为bytes类型
    # b = a.hexdigest()#经过两步运算得到一串32位的字符串
    # print(b,type(b))
    
    #如果待转换数据量非常大,可以分块多次调用update(),最后计算结果是一样的
    s = 'akjfhalkjfhga'
    a = hashlib.md5()
    a.update(s[:5].encode('utf-8'))
    a.update(s[5:].encode('utf-8'))
    b = a.hexdigest()
    print(b)
    a = hashlib.md5()
    a.update(s.encode('utf-8'))
    x = a.hexdigest()
    print(x)#两次转换结果相同
  • 相关阅读:
    ios开发之--UITextField光标右移
    ios开发之--复制到剪切板
    Splash scroll_position 属性
    Splash plugins_enabled 属性
    Splash images_enabled 属性
    Splash resource_timeout 属性
    Splash js_enabled 属性
    Splash args 属性
    Splash 对象属性
    Splash Lua 脚本
  • 原文地址:https://www.cnblogs.com/dong-/p/9452035.html
Copyright © 2011-2022 走看看