1、MD5加密
import hashlib #md5 加密是不可逆的,只能加密不能解密 password='123456' m=hashlib.md5(password.encode()) #加密需要二进制类型,需要encode一下,返回的是object print(m.hexdigest()) #需要用hexdigest获取加密后的字符串
2、sha3系列加密
import hashlib #sha系统加密方式,仅仅是加密长度区别,比如256表示产生的加密字符长64位 f=open('a.txt','rb') #二进制打开文件 content=hashlib.sha3_256(f.read()) #文件内容加密 print(content.hexdigest())
加密是不可逆的,那么什么网上还有反查询密码的功能,那是通过撞库,也就是拿到了一批密码的加密后的字符串,这个密码和加密字符串对应存库,当你输入加密字符串就可以查出来密码
为了避免这种情况,我们在加密密码的时候可以使用加盐的方式进行增加密码的复杂度,防止由于密码太简单导致被破解
3、加盐
加盐的实质就是加密的时候直接给密码加一串固定字符串,加密后的字符串就是密码+固定串
import hashlib #加盐 def my_md5(content,salt='sfg@#$'): s=str(content)+salt return hashlib.md5(s.encode()).hexdigest() print(my_md5('123456'))