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 > ...
随机推荐
- python 二维数组读入
study from : https://www.cnblogs.com/reaptomorrow-flydream/p/9613847.html python 二维数组键盘输入 1 m = int( ...
- MySQL填充字符串函数 LPAD(str,len,padstr),RPAD(str,len,padstr)
转: MySQL填充字符串函数 LPAD(str,len,padstr),RPAD(str,len,padstr) LPAD(str,len,padstr) 用字符串 padstr对 str进行左边填 ...
- 第十三节,使用带有全局平均池化层的CNN对CIFAR10数据集分类
这里使用的数据集仍然是CIFAR-10,由于之前写过一篇使用AlexNet对CIFAR数据集进行分类的文章,已经详细介绍了这个数据集,当时我们是直接把这些图片的数据文件下载下来,然后使用pickle进 ...
- Day013--Python--内置函数一
一.作用域相关(2) 1. globals() 查看全局空间作用域中的内容. 函数会以字典的类型返回全部全局变量. 2. locals() 查看当前空间作用域中的内容. 函数以字典的类型返回当前位 ...
- mybatis的一些小知识
<update id="setReaded"> update wa_ent_job_app set IS_READ= 1, READ_TIME=now() where ...
- 好用的漂浮广告 jquery
<script src="http://cdn.bootcss.com/jquery/1.11.2/jquery.js" type="text/javascript ...
- java练习:质数,匿名内部类创建接口,抽象类派生子类,画圆,字节截取字符串,数字变钱币,五子棋,梭哈
java学习-质数的孤独 正在看质数的孤独,,,于是写了一个练习代码,输出1-100之间的质数 代码比较烂.待完善吧. 这里用到了continue和break,continue指结束当前轮次循环,跳入 ...
- 【清北学堂2018-刷题冲刺】Contest 5
这三个题写了一天半,第一个题写了大概一整天.出题人劝我从后往前写,我不听,结果T1想了+调了一天QWQWQ Task 1:序列 [问题描述] 定义一个"好的序列"为一个长度为M ...
- qml: 组件复用
在编写组件时,使用下面两种方法可以实现组件的复用: import QtQuick 2.0 import QtQuick.Window 2.2 import QtQuick.Controls 1.4 a ...
- 如何在Mac上安全彻底的卸载软件?
文章来源:知乎 收录于:风云社区(SCOEE)[提供mac软件下载] 更多专题,可关注小编[磨人的小妖精],查看我的文章,也可上[风云社区 SCOEE],查找和下载相关软件资源. (一)综合类: 新买 ...