hashlib模块:提供摘要算法

  格式:

hashlib格式:
obj = hashlib.算法(md5,sha....)
obj.update(摘要内容:bytes类型)
result = obj.hexdigest()

  具体使用的方法:

abstract = hashlib.md5()
abstract1 = hashlib.md5()
abstract2 = hashlib.sha1()
abstract.update(bytes('密文', encoding='utf-8'))
abstract1.update(bytes('密文', encoding='utf-8'))
abstract2.update(bytes('密文', encoding='utf-8'))
print(abstract.hexdigest()) # c099362aa8fc5c5d1be88e4c2c42ea62
print(abstract1.hexdigest()) # c099362aa8fc5c5d1be88e4c2c42ea62
print(abstract2.hexdigest()) # 058115813f2cbb11f638a736c22b3bd32a5e46dc

  从上面的例子看出摘要算法的特点:

摘要算法特点:可用于文件的一致性验证
1,对于相同的字符串,同一种算法摘要后的值总是相同的
2,对于相同的字符串,不同的算法摘要后的值应该是不相同的

  加盐摘要:进一步提高密文的安全性,防止撞库!

abstract = hashlib.md5(bytes('加盐', encoding='utf-8'))
abstract.update(bytes('密文', encoding='utf-8'))
print(abstract.hexdigest()) # 17de8554897051e741525a38fc250adf

  动态加盐:使用用户名的某一部分作为加盐的对象或和盐进行拼接后加盐。

user = input('username:')
abstract = hashlib.md5(bytes(user, encoding='utf'))
abstract.update(bytes('密文', encoding='utf-8'))
print(abstract.hexdigest())

python模块之hashlib模块的更多相关文章

  1. Python常用模块之hashlib模块

    1.hashilib模块的功能 python的hashlib提供了常见的摘要算法,如MD5, SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换成一 ...

  2. hmac模块和hashlib模块

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

  3. 包、logging模块、hashlib模块、openpyxl模块、深浅拷贝

    包.logging模块.hashlib模块.openpyxl模块.深浅拷贝 一.包 1.模块与包 模块的三种来源: 1.内置的 2.第三方的 3.自定义的 模块的四种表现形式: 1.py文件 2.共享 ...

  4. [xml模块、hashlib模块、subprocess模块、os与sys模块、configparser模块]

    [xml模块.hashlib模块.subprocess模块.os与sys模块.configparser模块] xml模块 XML:全称 可扩展标记语言,为了能够在不同的平台间继续数据的交换,使交换的数 ...

  5. Python模块之hashlib模块、logging模块

    一.hashlib模块 hashlib模块介绍:hashlib这个模块提供了摘要算法,例如 MD5.hsa1 摘要算法又称为哈希算法,它是通过一个函数,把任意长度的数据转换为一个长度固定的数据串,这个 ...

  6. 19 python初学(os 模块,sys 模块,hashlib 模块)

    os 模块: # _author: lily # _date: 2019/1/13 import os print(os.getcwd()) # 得到当前的工作目录 # print(os.chdir( ...

  7. python 无序模块,hashlib模块

    无序模块什么是无序模块,将字符串转化为十六进制的字符串类型,主要运用在网络编程中.1,json模块 1,用于网络传输,跨语言,可用的类型有 int str 列表-->元祖会变为列表 字典--&g ...

  8. Py修行路 python基础 (二十)模块 time模块,random模块,hashlib模块,OS及sys模块

    一.前提介绍: 可以开辟作用域的只有类,函数,和模块            for循环 if,else: 不能开辟自己的作用域 避免程序复用和重复调用,将这些写到一个.py文件中,做成一个模块,进行调 ...

  9. Python正则表达式与hashlib模块

    菜鸟学python第十六天 1.re模块(正则表达式) 什么是正则表达式 正则表达式是一个由特殊字符组成的序列,他能帮助对字符串的某种对应模式进行查找. 在python中,re 模块使其拥有全部的正则 ...

  10. Python进阶-XVV hashlib模块、configparse模块、logging模块

    1.配置相关的configparse模块 配置文件如何组织?python中常见的是将配置文件写成py,然后引入该模块即可.优点是方便访问. 但是也有用类似windows中的ini文件的配置文件,了解即 ...

随机推荐

  1. 【JZOJ4744】【NOIP2016提高A组模拟9.2】同余

    题目描述 输入 输出 样例输入 5 2 1 5 2 3 7 1 3 2 1 2 5 3 0 样例输出 2 1 数据范围 解法 题目允许离线,且没有修改操作. 考虑把一个询问拆分成两个形如"a ...

  2. More Effective C++: 04效率

    16:牢记80-20准则 80-20准则说的是大约20%的代码使用了80%的程序资源:大约20%的代码耗用了大约80%的运行时间:大约20%的代码使用了80%的内存:大约20%的代码执行80%的磁盘访 ...

  3. AI种黄桃AI卖黄桃 阿里巴巴推进一站式政务服务

    7月11日,武汉城市峰会期间,武汉.枣阳.荆门等多个城市发布了同阿里巴巴的最新合作.这些合作包括用人工智能改善武汉交通拥堵.降低枣阳黄桃种植成本.提升荆门城市治理和市民服务水平等.阿里云.蚂蚁金服.高 ...

  4. js遮罩

    1.1 背景半透明遮罩层样式 需要一个黑色(当然也可以其他)背景,且须设置为绝对定位,以下是项目中用到的css样式: /* 半透明的遮罩层 */ #overlay { background: #000 ...

  5. json 2016-09-18 22:03 207人阅读 评论(18) 收藏

    JSON:JavaScript 对象表示法(JavaScript Object Notation) JSON是什么? JSON(JavaScript Object Notation) 是一种轻量级的数 ...

  6. Extended Traffic

    题目链接 题意:有n个路口,m条通路,如果经过一条路则会得到(终点 - 起点)^3的权值,求从1点到其他点的最小权值,如果权值小于3或无法到达输出'?'. 题解:因为权值可能为负,所以用SPFA来解题 ...

  7. 免费的容器架构可视化工具 | 阿里云应用高可用服务 AHAS 发布重大新特性

    工具下载链接:点这里.活动发布链接:点这里. 采用容器服务后,了解容器之间的关系及依赖是一个比较有挑战的问题.容器化改造后的实际架构模型可能与预想的架构存在较大的差异,架构师或系统运维人员需要精确地了 ...

  8. Autodesk 卸载工具,一键完全彻底卸载删除autodesk软件专门卸载工具

    autodesk卸载工具(AUTO Uninstaller)是专门为了针对autodesk类软件卸载不干净而导致autodesk安装失败问题进行研发的autodesk一键卸载工具.现在虽然360或一些 ...

  9. Java练习 SDUT-3422_小金问呀问不会问题

    小金问呀问不会问题 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 众所周知,C语言的学习是我们程序设计基础的重点和主要 ...

  10. Laravel 的HTTP请求#

    获取请求# 要通过依赖注入的方式来获取当前HTTP请求的实例,你应该在控制器方法中类型提示Illuminate\Http\Request 传入的请求的实例通过 服务容器自动注入: <?php n ...