url编码是一种浏览器用来打包表单输入的格式
python3中
from urllib import parse parse.quote('union select null,null,null') # python3中的用法 parse.unquote("union%20select%20null%2Cnull%2Cnull") parse.urlencode({'x':'2333','y':'666'})
python2中
from urllib import * quote('union select null,null,null') # python2中的用法 unquote("union%20select%20null%2Cnull%2Cnull") urlencode({'x':'2333','y':'666'})
Base64常常用作网页表单和http传输的一些参数,也常用于邮件协议传输用户信息等
import base64 base64.b64encode(b"I love you") # 加密 base64.b64decode(b'SSBsb3ZlIHlvdQ==') # 解密
base32加密和解密
import base64 base64.b32encode(b'I love you') # 加密 base64.b32decode(b'JEQGY33WMUQHS33V') # 解密
说明: 上面的是python3中base64加密解密,python2中不需要加b.如果想要base16,只需要模仿上面即可
python3中字符串转十六进制编码
import binascii binascii.b2a_hex(u'I love you'.encode("utf8")) # 加密 binascii.a2b_hex(b'49206c6f766520796f75').decode("utf8") # 解密
python2中字符串转16进制
'I love you'.encode('hex') # 加密 '49206c6f766520796f75'.decode('hex') # 解密
python2中将字符串装换为Ascii码
map(ord,'I love you') # 加密 ''.join(map(chr,[73, 32, 108, 111, 118, 101, 32, 121, 111, 117])) # 解密
python3中字符串转换为Ascii码
a = map(ord,'I love you') # 加密,由于python3中返回的是生成器对象 list(a) b = map(chr,[73, 32, 108, 111, 118, 101, 32, 121, 111, 117]) # 相同道理 ''.join(list(b))
md5加密是不可逆的,解密很费劲,一般使用暴力破解
from hashlib import md5 m = md5() m.update(b'I love you') # python2去掉b m.hexdigest()
python3中
a = '我爱你' a.encode() # 转换为uncode b'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0'.decode() # 转换为中文
python2中
unicode('人生苦短','gbk') # 编码 print(u'\u4eba\u751f\u82e6\u77ed') # 解码直接输出