hashlib 模块 摘要算法
应用于用户登陆,对密码进行加密操作,
#文件操作
# hashlib 摘要算法
#md5 算法: 是32位的16进制组成的数字字符组成的字符串
#应用最广的摘要算法
#效率高,相对不复杂,如果只是传统摘要不安全
#sha 算法 :40位的16进制组成的数字字符组成的字符串
#sha算法比md5算法要更加复杂
#且sha n 算法越大越安全,耗时越久
普通用法
from hashlib
def get_md5(s):
md5_obj = hashlib.md5()
md5_obj.update(s.encode("utf-8"))
ret = md5_obj.hexdigest()
return ret
l1 = get_md5("alex123")
print(l1) #b75bd008d5fecb1f50cf026532e8ae67
为防止非法人员恶意盗取
加盐用法
# def get_md5(s):
# md5_obj = hashlib.md5("盐".encode("utf-8")) #盐是不变的
# md5_obj.update(s.encode("utf-8"))
# ret = md5_obj.hexdigest()
# return ret
动态加盐
# def get_md5(name,pwd):
# md5_obj = hashlib.md5(name.encode("utf-8"))
# md5_obj.update(pwd.encode("utf-8"))
# ret = md5_obj.hexdigest()
# return ret
# l1 = get_md5("alex","alex123")
# print(l1)
def get_md5(name,pwd):
md5_obj = hashlib.md5((name+pwd).encode("utf-8"))
return md5_obj.hexdigest()
print(get_md5("alex","alex123"))
#判断文件的一致性校验
# md5_obj = hashlib.md5()
# md5_obj.update("hello,world".encode("utf-8"))
# ret = md5_obj.hexdigest()
# print(ret) # md5_obj = hashlib.md5()
判断视频文件的一致性
# import os,hashlib
# def get_file_md5(file_path,buffer= 1024):
# md5_obj = hashlib.md5()
# file_size = os.path.getsize(file_path)
# with open(file_path,"rb") as f:
# while file_size:
# count = f.read(buffer)
# md5_obj.update(count)
# file_size -= len(count)
# return md5_obj.hexdigest()
使用md5与 sha n系列用法一样,使用sha n 越大越安全
hashlib 模块 摘要算法的更多相关文章
- hashlib模块--摘要算法
算法介绍: Python的hashlib提供了常见的摘要算法:MD5,SHA()等. 摘要算法,又称哈希算法,散列算法.通过一个函数,吧任意长度的字符串转换为固定长度的字符串(16进制) 摘要算法就是 ...
- hashlib(摘要算法的模块)--重要 (一)
课件地址:https://www.cnblogs.com/mys6/p/10584933.html 搜索hashlib模块 # 登录认证# 加密 --> 解密# 摘要算法# 两个字符串 :# ...
- hashlib模块(摘要算法)
hashlib(1) # hashlib模块 # 现在写登录认证的时候,需要保存用户名和密码,用户名和密码是保存在文件中,并且都是明文,一旦丢了就完蛋了.所以 # 可以用hashlib将密码转换成密文 ...
- python模块——hashlib模块(简单文件摘要算法实现)
#!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = "loki" # Usage: hashlib模块 import ...
- Python之数据加密与解密及相关操作(hashlib模块、hmac模块、random模块、base64模块、pycrypto模块)
本文内容 数据加密概述 Python中实现数据加密的模块简介 hashlib与hmac模块介绍 random与secrets模块介绍 base64模块介绍 pycrypto模块介绍 总结 参考文档 提 ...
- Python模块之hashlib模块、logging模块
一.hashlib模块 hashlib模块介绍:hashlib这个模块提供了摘要算法,例如 MD5.hsa1 摘要算法又称为哈希算法,它是通过一个函数,把任意长度的数据转换为一个长度固定的数据串,这个 ...
- hashlib 模块用来进行hash
hashlib的基本概述: python中的 hashlib 模块用来进行hash 或者md5加密,而且这种加密是不可逆的,所以这种算法又被称为摘要算法, 其支持Opennssl库提供的所有算法,包括 ...
- Python基础-列表推导式、匿名函数、os/sys/time/datetime/pymysql/xlwt/hashlib模块
列表推导式 [表达式 for 变量 in range(n) if 条件] 等效于 for 变量 in in range(n): if 条件: 表达式 优点:书写方便,缺点:不易读 注意:用的是方括号 ...
- 通过python的hashlib模块计算一个文件的MD5值
Python的hashlib提供了很多摘要算法,如MD5,SHA1等常用算法. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(如MD5值 ...
随机推荐
- Java访问修饰符和三大特征(封装,继承和多态)
一.访问修饰符基本介绍: java提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围): 1.公开级别:用public修饰,对外公开2.受保护级别:用protected修饰,对子 ...
- SQL注入的原理及一般步骤
原理 SQL注入是一种攻击方式,在这种攻击方式中,恶意代码被插入到字符串中,然后该字符串传递到SQL Server的实例以进行分析和执行.任何构成SQL语句的过程都应进行注入检查,因为SQL Serv ...
- 解决使用putty 连接Windows主机与Linux虚拟机出现提示network error:connection refused问题
使用putty 连接Windows主机与Linux虚拟机出现提示network error:connection refused的问题 问题描述: 主机与虚拟机可以互相ping通: 防火墙已经关闭 使 ...
- Solution -「LOJ #138」「模板」类欧几里得算法
\(\mathcal{Description}\) Link. \(T\) 组询问,每次给出 \(n,a,b,c,k_1,k_2\),求 \[\sum_{x=0}^nx^{k_1}\left\ ...
- HashSet源码学习
一.介绍 1.HashSet 2.HashSet和HashMap的区别 1.相同点 HashSet 内部使用 HashMap 存储元素,对应的键值对的键为 Set 的存储元素,值为一个默认的 Obje ...
- Java 线程的 5 种状态
线程状态图: 线程共包括以下 5 种状态: 1. 新建状态(New): 线程对象被创建后,就进入了新建状态.例如,Thread thread = new Thread(). 2. 就绪状态(Runna ...
- 图解python | 简介
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/56 本文地址:http://www.showmeai.tech/article-det ...
- ASP.NET Core 6框架揭秘-实例演示版[持续更新中…]
作为<ASP.NET Core 3框架揭秘>的升级版,<ASP.NET Core 6框架揭秘>提供了很多新的章节,同时对现有的内容进行大量的修改.虽然本书旨在对ASP.NET ...
- Python:更改pip镜像源的方法
windows系统一步更换 在命令提示符中运行 pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ 具体其它 ...
- 关于c#知识的学到的新知识点
开头:对这段时间学习的小知识点做一个整理.希望自己能理清思路.当然如果能帮到大家那就更好了. 1.判断写法 !True=false 思考:以前判断一直写if(布尔变量==false),今天看到这个,才 ...