编码
传输前将信息编码,传输后再解码
hex
每个字符的ASCII码的十六进制
字符编码成16进制转10进制
即字符串转十进制
s="flag"
t=s.encode("hex")
print int(t,16)
单字符最快转换用ord
print int("a".encode("hex"),16)
print ord("a")
去掉0x和末尾的L
num=584734024210391580014049650557280915516226103165
print hex(num)[2:-1].decode("hex")
要保证hex编码的字符串是偶数位
奇数位前面补0
def num2str(num):
tmp=hex(num)[2:].replace("L","")
if len(tmp) % 2 == 0:
return tmp.decode("hex")
else:
return ("0"+tmp).decode("hex")
字符转长整型
from Crypto.Util.number import long_to_bytes,bytes_to_long
flag="flag{123}"
print bytes_to_long(flag)
print long_to_bytes(bytes_to_long(flag))