Python3中的hashlib模块提供了多个不同的安全哈希算法的通用接口

  hashlib模块代替了Python2中的md5和sham模块,使用这个模块一般分为3步

    1.创建一个哈希对象,使用哈希算法命名的构造函数或通用构造函数hashlib.new(name[, data])

    2.使用哈希对象调用update()方法填充这个对象

    3.调用digest() 或 hexdigest()方法来获取摘要(加密结果)

  注:

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

    2.常用的一些算法主要有: SHA1, SHA224, SHA256, SHA384, SHA512, MD5等算法

    3.SHA1算法比较早,是不能抵抗暴力破解的

hashlib模块提供一下常量属性

  hashlib.algorithms_guaranteed

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

  hashlib.algorithms_available

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

哈希对象常用的方法

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

  h.update(arg)

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

  h.digest()

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

  h.hexdigest()

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

import hashlib

password = b"Hello,World!"    # 要加密的数据

# 1.创建一个hash对象
h = hashlib.sha256() # 2.填充要加密的数据
h.update(password) # 3.获取加密结果
result = h.hexdigest()
print(result) # 输出结果:8f4ec1811c6c4261c97a7423b3a56d69f0f160074f39745af20bb5fcf65ccf78

数据加密三部曲


Python3-hashlib模块-加密算法之安全哈希的更多相关文章

  1. Python3 hashlib模块和hmac 模块(加密)

    hashlib 是一个提供了一些流行的hash算法的 Python 标准库.其中所包括的算法有 md5, sha1, sha224, sha256, sha384, sha512等常用算法 MD5加密 ...

  2. python3 hashlib模块

    hashlib是一个加密模块,可以将明文加密为密文: md5,sha加密:过程不可逆转.

  3. (2)hashlib模块(加密算法模块)

    hash算法模块内有很多种,如md5.sha1等,只是加密的程度不一样 hash是一种算法 该算法接收传入的文本内容,经过hash运算得到一串hash值 hash值具备三个特点: 1. 如果传入的内容 ...

  4. Python3 os模块&sys模块&hashlib模块

    ''' os模块 非常重要的模块 ''' import os # print(os.getcwd()) # 获取当前工作目录 # os.chdir(r'路径名') # 改变当前工作目录 # print ...

  5. python接口自动化测试二十七:密码MD5加密 ''' MD5加密 ''' # 由于MD5模块在python3中被移除 # 在python3中使用hashlib模块进行md5操作 import hashlib # 待加密信息 str = 'asdas89799,.//plrmf' # 创建md5对象 hl = hashlib.md5() # Tips # 此处必须声明encode # 若写法为

    python接口自动化测试二十七:密码MD5加密   ''' MD5加密 '''# 由于MD5模块在python3中被移除# 在python3中使用hashlib模块进行md5操作import has ...

  6. Python之数据加密与解密及相关操作(hashlib模块、hmac模块、random模块、base64模块、pycrypto模块)

    本文内容 数据加密概述 Python中实现数据加密的模块简介 hashlib与hmac模块介绍 random与secrets模块介绍 base64模块介绍 pycrypto模块介绍 总结 参考文档 提 ...

  7. python hashlib模块 md5加密 sha256加密 sha1加密 sha512加密 sha384加密 MD5加盐

      python hashlib模块   hashlib hashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,sha1, sha224, sha256, sha384, ...

  8. hmac模块和hashlib模块

    hmac模块和hashlib模块 一.hash是什么 ​ hash是一种算法(Python3.版本里使用hashlib模块代替了md5模块和sha模块,主要提供 SHA1.SHA224.SHA256. ...

  9. 加密hashlib模块

    目录 hashlib和hmac模块: hashlib模块: -hash: 特点: 大致流程: 注意: hmac模块: 特点: 注意:hmac模块只接受二进制数据的加密 hashlib和hmac模块: ...

随机推荐

  1. Unable to start services. See log file /tmp/vmware-root/vmware-6853.log for details.

    debian安装vmware错误 https://github.com/AdministratorGithub/vmshell vm15.1.0解决linux安装出现Unable to start s ...

  2. 磨刀-CodeWarrior11生成的Makefile解析

    https://mp.weixin.qq.com/s/plvviDFLsLQeg9ZeP_3WMA   一. 简介 Code Warrior 11是基于Eclipse CDT开发的集成开发环境(IDE ...

  3. 跨域解决方案 - webpack devServer

    1. 定义 如果一个项目中配置了webpack, 那么我们使用 webpack devServer 来配置代理转发请求来达到解决跨域问题的目的 webpack devServer 能够解决跨域问题的根 ...

  4. 实现一个 $attr(name,value) 遍历;属性为 name 值为 value 的元素集合

    <body> <div class="box clearfix"></div> <div name="zs">& ...

  5. Redis 单节点百万级别数据 读取 性能测试.

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 这里先进行造数据,向redis中写入五百万条数据,具体方式有如下三种: 方法一:(Lua 脚本) vim ...

  6. Java实现 LeetCode 598 范围求和 II(最小值相乘)

    598. 范围求和 II 给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作. 操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义 ...

  7. Java实现第九届蓝桥杯全球变暖

    全球变暖 题目描述 你有一张某海域NxN像素的照片,"."表示海洋."#"表示陆地,如下所示: ....... .##.... .##.... ....##. ...

  8. java实现第六届蓝桥杯循环节长度

    循环节长度 两个整数做除法,有时会产生循环小数,其循环部分称为:循环节. 比如,11/13=6=>0.846153846153..... 其循环节为[846153] 共有6位. 下面的方法,可以 ...

  9. 大顶堆与小顶堆应用---寻找前k小数

    vector<int> getLeastNumber(vector<int>& arr,int k){ vector<int> vec(k,); if(== ...

  10. Javascript:跳转到指定页面

    <div> <input type="text" id="jumpPage"/> <input type="button ...