Crypto·Py3编码 发表于 2021-12-08 更新于 2021-12-23 阅读次数: Valine: 本文字数: 691 阅读时长 ≈ 1 分钟 《CTF特训营》一书中Crypto方向里Py2与Py3编码差异问题解决。 CTF特训营 · 编码Py3 解决历史遗留问题1. 字符串 初级 12a = 'flag'hex_a = a.encode().hex() # encode转字节型后再转十六进制 中等 12import binasciia = binascii.hexlify(b'flag') # 字符串转字节转十六进制 1234import binasciinum = 584734024210391580014049650557280915516226103165a = hex(num)[2:] # 十六进制,去0xa = binascii.unhexlify(a) # 十六进制转字节型 高级 1234from Crypto.Util.number import *num = 584734024210391580014049650557280915516226103165print(long_to_bytes(num))print(bytes_to_long(b'flag(123)')) 2. 字符12a = ord('a') # ‘a’的十进制的ascii码 a = b'a'.hex() # 'a'的十六进制adcii码 3.整数1234a = hex(123)b = bin(789)c = oct(101)d = int('666c', 16) Base 转码123import base64print(base64.b32encode(b'flag'))print(base64.b64decode('QVNU')) 本文作者: Harry0597 本文链接: https://harry0597.com/2021/12/08/Crypto·Py3编码/ 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!