题目在邮件、网络传输中保证非 ASCII 字符安全传输的是什么flag{E99D92E5B091E5B9B4CTFE6ACA2E8BF8EE4BDA0}解析方法一密码中CTF前E99D92E5B091E5B9B4CTF后E6ACA2E8BF8EE4BDA0放到CTF编码工具中发现属于Quoted编码方法二密码中将换做空格视为十六进制CTF前 E9 9D 92 E5 B0 91 E5 B9 B4CTF后E6 AC A2 E8 BF 8E E4 BD A0按 分割并转换十六进制字节为 UTF-8 字符E9 9D 92 → 青E5 B0 91 → 少E5 B9 B4 → 年E6 AC A2 → 欢E8 BF 8E → 迎E4 BD A0 → 你在线转换地址https://lzltool.cn/Tools/HexToUtf8代码实现转换defhex_to_utf8(hex_string): 将十六进制字符串转换为UTF-8字符串 Args: hex_string: 十六进制字符串可以有或没有0x前缀可以有空格 Returns: UTF-8解码后的字符串 # 移除可能的0x前缀和空格hex_stringhex_string.replace(0x,).replace( ,)try:# 将十六进制字符串转换为字节bytes_objbytes.fromhex(hex_string)# 将字节解码为UTF-8字符串returnbytes_obj.decode(utf-8)exceptValueErrorase:raiseValueError(f无效的十六进制字符串:{e})# 示例hex_strE9 9D 92 E5 B0 91 E5 B9 B4resulthex_to_utf8(hex_str)print(f十六进制:{hex_str})print(fUTF-8字符串:{result})# 示例hex_stre4b8ade59bbde5a596resulthex_to_utf8(hex_str)print(f十六进制:{hex_str})print(fUTF-8字符串:{result})答案拼接结果flag{青少年CTF欢迎你}
【CTF-Crypto-quoted】十六进制转UFT8汉字
题目在邮件、网络传输中保证非 ASCII 字符安全传输的是什么flag{E99D92E5B091E5B9B4CTFE6ACA2E8BF8EE4BDA0}解析方法一密码中CTF前E99D92E5B091E5B9B4CTF后E6ACA2E8BF8EE4BDA0放到CTF编码工具中发现属于Quoted编码方法二密码中将换做空格视为十六进制CTF前 E9 9D 92 E5 B0 91 E5 B9 B4CTF后E6 AC A2 E8 BF 8E E4 BD A0按 分割并转换十六进制字节为 UTF-8 字符E9 9D 92 → 青E5 B0 91 → 少E5 B9 B4 → 年E6 AC A2 → 欢E8 BF 8E → 迎E4 BD A0 → 你在线转换地址https://lzltool.cn/Tools/HexToUtf8代码实现转换defhex_to_utf8(hex_string): 将十六进制字符串转换为UTF-8字符串 Args: hex_string: 十六进制字符串可以有或没有0x前缀可以有空格 Returns: UTF-8解码后的字符串 # 移除可能的0x前缀和空格hex_stringhex_string.replace(0x,).replace( ,)try:# 将十六进制字符串转换为字节bytes_objbytes.fromhex(hex_string)# 将字节解码为UTF-8字符串returnbytes_obj.decode(utf-8)exceptValueErrorase:raiseValueError(f无效的十六进制字符串:{e})# 示例hex_strE9 9D 92 E5 B0 91 E5 B9 B4resulthex_to_utf8(hex_str)print(f十六进制:{hex_str})print(fUTF-8字符串:{result})# 示例hex_stre4b8ade59bbde5a596resulthex_to_utf8(hex_str)print(f十六进制:{hex_str})print(fUTF-8字符串:{result})答案拼接结果flag{青少年CTF欢迎你}