python之MD5加密
一、 MD5加密
import hashlib #Python3里的引用
#import md5 #Python2里的引用
1. md5是不可逆的,不能解密
2. 所有语言生成的md5串都是一样的
3. 不论字符串多长,生成的md5是等长的
4. 彩虹表:存的所有常用的加密后的密码对应的md5
5. 解密查询,只能解密常用字符:https://www.cmd5.com/
import hashlib
#import md5 #Python2里的引用
s=''
# s.encode()#变成bytes类型才能加密
m= hashlib.md5(s.encode())
print(m.hexdigest()) m=hashlib.sha3_224(s.encode()) #长度是224
print(m.hexdigest()) m=hashlib.sha3_256(s.encode()) #长度是256
print(m.hexdigest()) m=hashlib.sha3_512(s.encode()) #长度是512
print(m.hexdigest())
#输出结果
e10adc3949ba59abbe56e057f20f883e
6be790258b73da9441099c4cb6aeec1f0c883152dd74e7581b70a648
d7190eb194ff9494625514b6d178c87f99c5973e28c398969d2233f2960a573e
64d09d9930c8ecf79e513167a588cb75439b762ce8f9b22ea59765f32aa74ca19d2f1e97dc922a3d4954594a05062917fb24d1f8e72f2ed02a58ed7534f94d27
二、 加盐
加盐是在用户密码加密后,可以再加一个指定的字符串,再次加密,这样,用户密码被破解的概率极低了
#如密码是123456:
random_str='dsfka676f9a78#$%^' #盐的值
#加盐后,密码变为: 123456dsfka676f9a78#$%^
如要加密,可调用如下函数:
import hashlib
def my_md5(s,salt=''): #加盐,盐的默认值是空
s=s+salt
news=str(s).encode() #先变成bytes类型才能加密
m=hashlib.md5(news) #创建md5对象
return m.hexdigest() #获取加密后的字符串
python之MD5加密的更多相关文章
- Python 获取MD5加密值
		Python 获取MD5加密值方法封装 import hashlib def get_md5(s): """获取MD5加密值 :param s: 需要加密的字符串 :re ... 
- 一小部分用python进行MD5加密的小技巧
		上个图 要求计算出开头为ae3da且盐值为3c6e的字符串 简单的思路就是直接进行枚举,然后筛选符合条件的MD5加密字符,代码如下 #-*- coding:utf- -*- import hashli ... 
- Python 实现MD5加密
		from hashlib import md5 def encrypt_md5(s): # 创建md5对象 new_md5 = md5() # 这里必须用encode()函数对字符串进行编码,不然会报 ... 
- Python基础-MD5加密
		import hashlibm = hashlib.md5()#构造一个md5 m.update(b"Hello")#加密前必须转化成二进制字节类型print(m.hexdiges ... 
- 五、python中MD5加密
		import hashlib '''用于加密相关的操作,代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法'''##### ... 
- python进行md5加密的两种方法
		本文转自:https://www.cnblogs.com/zknublx/p/6212590.html 一. 使用md5包 import md5 src = 'this is a md5 test.' ... 
- python进行md5加密
		代码函数 import hashlib def md5(str): m = hashlib.md5() m.update(str) return m.hexdigest() f = open('idf ... 
- 【python】md5加密方法相关使用
		md5方法在hashlib库中,使用前需要先导入.它的主要方法为update,copy,以及转换为二进制,十六进制. 用法说明: Help on HASH object: class HASH(bui ... 
- Python hashlib模块 (主要记录md5加密)
		python提供了一个进行hash加密的模块:hashlib 下面主要记录下其中的md5加密方式(sha1加密一样把MD5换成sha1) >>> import hashlib > ... 
随机推荐
- [bzoj3524][Couriers]
			题目链接 思路 观察这个\((r - l + 1)/2\),很容易证明,如果一个数出现次数大于\((r - l + 1) / 2\),那么这个区间内第\((r - l + 1) / 2 + 1\)大一 ... 
- render_template 网页模板
			模板简单介绍: 视图函数:视图函数就是装饰器所装饰的方法,视图函数的主要作用是生成请求的响应,这是最简单的请求.实际上,视图函数有两个作用:处理业务逻辑和返回响应内容.在大型应用中,把业务逻辑和表现内 ... 
- jmeter-录制, 编辑脚本,性能测试全过程review
			录制脚本 jmeter下载安装略过不谈,上步骤: 1.在测试计划新建-threads-线程组 2.在工作台新建-非测试原件-http代理服务器,设置端口和包含网址 不包含网址 3.在手机/浏览器,设置 ... 
- 5款 Mac 常用PDF阅读和编辑软件推荐
			PDF和Word.TXT等文档一样,都是我们最常用的文档格式,那么一款好用的浏览或编辑PDF的工具就很有必要了,今天和大家分享5款Mac上优秀的PDF阅读和编辑工具. 以下内容来自[风云社区 SCOE ... 
- Go-day01
			Go-实现hello_world package main import "fmt" func main() { fmt.Println("hello world!&qu ... 
- CodeForces1073E 数位dp+状压dp
			http://codeforces.com/problemset/problem/1073/E 题意 给定K,L,R,求L~R之间最多不包含超过K个数码的数的和. 显然这是一道数位dp,在做的过程中会 ... 
- python 基础技巧
			多个字典合并 >>> d1 = {'name' : 'revotu', 'age' : 99} >>> d2 = {'age' : 24, 'sex' : 'mal ... 
- ElasticSearch的插件(Plugins)介绍
			ElasticSearch的插件(Plugins)介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 目前可以扩展ElasticSearch功能的插件有很多,比如:添加自定义的映 ... 
- Neo4j社区版配置文件
			#*****************************************************************# Neo4j configuration## For more d ... 
- Idea中的一些快捷键
			最常用快捷键 sout 输出语句 psvm 输出main方法 fori 输出for语句 iter 输出foreach语句 Ctrl+Shift+U 大小写转换 Ctrl+Shift+Enter 补全一 ... 
