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值 ...
随机推荐
- Docker名词解释
http://www.runoob.com/docker/docker-architecture.html
- 38、python并发编程之IO模型
目录: 一 IO模型介绍 二 阻塞IO(blocking IO) 三 非阻塞IO(non-blocking IO) 四 多路复用IO(IO multiplexing) 五 异步IO(Asynchron ...
- 使用PHP利用phpmailer发送电子邮件
先来几句废话: phpMailer是一个非常强大的php发送邮件类,可以设定发送邮件地址.回复地址.邮件主题.html网页,上传附件,并且使用起来非常方便. phpMailer的特点: ...
- 关于WebStorm 破解
建议资金宽裕,支持正版 2017.2.27更新 选择"license server" 输入:http://idea.imsxm.com/ 2016.2.2 版本的破解方式: 安装以 ...
- nginx 配置ssl证书
1.443端口配置 server { listen 443 ssl; server_name www.test.com; ssl_certificate /usr/local/nginx/cert/t ...
- 提权辅助工具:Windows--exploit-suggester.py安装及使用
下载地址 https://github.com/AonCyberLabs/Windows-Exploit-Suggester1.安装xlrd包(注意python2.3版本的pip问题) ...
- 记录一次有趣misc
标题:2017_Dating_in_Singapore题目来源:XCTF 3rd-HITB CTF-2017题目描述:01081522291516170310172431-05060713202726 ...
- 安装python和pycharm,以及常见安装问题
目录 安装python 输入第一个python程序 安装python文本编辑器pycharm 执行main.py文件出现的问题 python编码规范 python是当前很常用的一门语言了,和Java, ...
- 广度优先搜索(BreadthFirstSearch)& 迪克斯特拉算法 (Dijkstra's algorithm)
BFS可回答两类问题: 1.从节点A出发,有前往节点B的路径吗? 2.从节点A出发,前往节点B的哪条路径经过的节点最少? BFS中会用到"队列"的概念.队列是一种先进先出(FIFO ...
- Spark学习笔记(详细)
Spark Core 第1章 Spark 概述 Spark是一种基于内存的快速.通用.可扩展的大数据分析计算引擎 Spark和Hadoop 的根本差异是多个作业之间的数据通信问题: Spark多个作业 ...