python的加密

一、 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='123456'
# 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())

二、 加盐

加盐是在用户密码加密后,可以再加一个指定的字符串,再次加密,这样,用户密码被破解的概率极低了

#如密码是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()    #获取加密后的字符串

 

转载于:https://www.cnblogs.com/blueteer/p/10097732.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值