1.base64加密,一般用于url传参,但是不想让用户看到,需要加密用base64加密。可逆,加密性能没有md5强。
使用base64注意python2和python3的区别:
python3加密:先转码
a = '123abc' a_jiami = base64.b64encode(a.encode('utf-8')).decode('utf-8')#先转码 print(a_jiami)
#结果:MTIzYWJj
python2加密:
a = '123abc' a_jiami = base64.b64encode(a) print a_jiami
#结果:MTIzYWJj
解密:
a_jiemi = base64.b64decode(a_jiami).decode('utf-8') print('解密',a_jiemi)
#结果:解密 123abc
2.md5加密:一般用于密码加密,加密性能强。
在python3的标准库中已经移除了md5。关于hash加密算法都放在了hashlib标准库中。
import hashlib ''' md5对英语数字汉字加密的三种方式 ''' b = '123abc' #第一种 m = hashlib.md5() m.update(b.encode('utf-8')) #update括号内必须是byte类型 print(m.hexdigest()) #第二种 b_md5 = hashlib.md5(b.encode('utf-8')).hexdigest() print(b_md5) #第三种 b2_md5 = hashlib.new('md5',b.encode('utf-8')).hexdigest() print(b2_md5)
结果:
a906449d5769fa7361d7ecc6aa3f6d28 a906449d5769fa7361d7ecc6aa3f6d28 a906449d5769fa7361d7ecc6aa3f6d28