python中加密算法(md5、sha512)
1、python 中加密算法包括:md5、sha512、sha256、base64、aes……我们今天说下其中的两种:md5和sha512
2、md5的使用
MD5 是一种单向加密技术(不可解密)。MD5加密算法简单高效且算出的值长度都是固定的, MD5值具有强抗碰撞,对原文件哪怕只修改一个字符,所计算出的MD5值也会发生很大变化。基于这些特性,MD5在数据校验上发挥有很大作用。
import hashlib #导入hashlib模块 password='123456' #定义一个字符串 hashlib.md5(password.encode())# encode 方法,转成字符串 m=hashlib.md5(password.encode()) print(m.hexdigest())#打印出来
打印结果
e10adc3949ba59abbe56e057f20f883e
3、sha512的使用
sha512和sha256……等等这种形式的使用方法都是一模一样的,区别只是返回值长度不一样
import hashlib #导入hashlib模块 password='123456' #定义一个字符串 m=hashlib.sha3_512(password.encode()) def md5(string,salt=""): new = str(string) + str(salt) m = hashlib.md5(new.encode()) return m.hexdigest() print(m.hexdigest())#打印出来
打印结果
64d09d9930c8ecf79e513167a588cb75439b762ce8f9b22ea59765f32aa74ca19d2f1e97dc922a3d4954594a05062917fb24d1f8e72f2ed02a58ed7534f94d27
4、下面我们说一下加盐和加密的输出方法
- 加盐:加密后,后面加一些固定的的字符&*()*&……%
- 说下加密后不同的返回值
- hash.digest()返回摘要,作为二进制数据字符串值
- hash.hexdigest()返回摘要,作为十六进制数据字符串值