首页 > 其他分享 >这是base-还原数字查正确码表再解码

这是base-还原数字查正确码表再解码

时间:2025-01-09 15:46:37浏览次数:1  
标签:24 21 23 码表 解码 base64 53 61 base

题目:

dict:{0: 'J', 1: 'K', 2: 'L', 3: 'M', 4: 'N', 5: 'O', 6: 'x', 7: 'y', 8: 'U', 9: 'V', 10: 'z', 11: 'A', 12: 'B', 13: 'C', 14: 'D', 
15: 'E', 16: 'F', 17: 'G', 18: 'H', 19: '7', 20: '8', 21: '9', 22: 'P', 23: 'Q', 24: 'I', 25: 'a', 26: 'b', 27: 'c', 28: 'd', 29: 'e',
30: 'f', 31: 'g', 32: 'h', 33: 'i', 34: 'j', 35: 'k', 36: 'l', 37: 'm', 38: 'W', 39: 'X', 40: 'Y', 41: 'Z', 42: '0', 43: '1', 44: '2', 
45: '3', 46: '4', 47: '5', 48: '6', 49: 'R', 50: 'S', 51: 'T', 52: 'n', 53: 'o', 54: 'p', 55: 'q', 56: 'r', 57: 's', 58: 't', 59: 'u',
60: 'v', 61: 'w', 62: '+', 63: '/', 64: '='}

chipertext:
FlZNfnF6Qol6e9w17WwQQoGYBQCgIkGTa9w3IQKw

底下一串说是密文,那就按上面的字典先还原成明文,还原完是一串数字

[16, 36, 41, 4, 30, 52, 16, 48, 23, 53, 36, 48, 29, 21, 61, 43, 19, 38, 61, 23, 23, 53, 17, 40, 12, 23, 13, 31, 24, 35, 17, 51, 25, 21, 61, 45, 24, 23, 1, 61]

不难想到用正确的base64码表转换为base64编码形式

QkpEe0QwX1kwdV9rTm9XX1RoMXNfYjRzZV9tYXB9

再进行一次解码即可得到结果

b'BJD{D0_Y0u_kNoW_Th1s_b4se_map}'

脚本如下:

# 定义字典
import base64
# Base64编码表
base64_table = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
char_to_num = {
    'J': 0, 'K': 1, 'L': 2, 'M': 3, 'N': 4, 'O': 5, 'x': 6, 'y': 7, 'U': 8, 'V': 9,
    'z': 10, 'A': 11, 'B': 12, 'C': 13, 'D': 14, 'E': 15, 'F': 16, 'G': 17, 'H': 18,
    '7': 19, '8': 20, '9': 21, 'P': 22, 'Q': 23, 'I': 24, 'a': 25, 'b': 26, 'c': 27,
    'd': 28, 'e': 29, 'f': 30, 'g': 31, 'h': 32, 'i': 33, 'j': 34, 'k': 35, 'l': 36,
    'm': 37, 'W': 38, 'X': 39, 'Y': 40, 'Z': 41, '0': 42, '1': 43, '2': 44, '3': 45,
    '4': 46, '5': 47, '6': 48, 'R': 49, 'S': 50, 'T': 51, 'n': 52, 'o': 53, 'p': 54,
    'q': 55, 'r': 56, 's': 57, 't': 58, 'u': 59, 'v': 60, 'w': 61, '+': 62, '/': 63,
    '=': 64
}

# 密文
ciphertext = "FlZNfnF6Qol6e9w17WwQQoGYBQCgIkGTa9w3IQKw"

# 将密文转换为数字
numeric_representation = [char_to_num[char] for char in ciphertext]

# 输出转换结果
print(numeric_representation)

# 将每个数字映射到Base64编码表中的字符
encoded_string = ''.join(base64_table[num] for num in numeric_representation)

# 输出Base64编码字符串
print(encoded_string)

# 将Base64编码字符串转换为字节
decoded_bytes = base64.b64decode(encoded_string)

# 输出解码后的字节数据
print(decoded_bytes)

 

标签:24,21,23,码表,解码,base64,53,61,base
From: https://www.cnblogs.com/Draina/p/18662261

相关文章

  • GBase 8a数据库故障排查思路
    一、监控进程集群默认运行gcmonit进程用来监控gcluster、gcware、gcrecover、gcmmonit、gbase、syncserver进程,当这些进程意外down掉,gcmonit进程会自动将这些进程拉起。同时,gcmmonit进程又会监控gcmonit进程,当gcmonit进程down掉,gcmmonit进程会将gcmonit进程拉起......
  • GBase DAY(date) 函数详解
    DAY 是一个用于从日期或日期时间表达式中提取日(天)部分的日期和时间函数。它在数据分析、报告生成、数据清洗、时间序列处理以及各种需要处理和转换日期数据的场景中非常实用。通过 DAY 函数,用户可以轻松地获取日期的天数部分,从而简化日期相关的计算和比较。1. DAY(date) 函......
  • Transformer、编码器、解码器、全连接FFN、自注意力机制、嵌入向量、残差连接层归一化
    一.提出背景Transformer最早是Google在2017年的AttentionIsAllYouNeed论文中提出,用于解决解决传统的序列到序列(Seq2Seq)模型在处理可变长序列时遇到的问题。(序列到序列:指的是模型的输入是一段序列,模型输出也是序列;比如语音识别中给模型一段中文语音序列,让模型给出中文文字序列......
  • KES(KingBaseES)集群部署实战
    今天我们将探讨关于KES(KingBaseES)的集群部署方案。作为示例,我们将以读写分离(RWC)集群为例,快速在本地进行部署和安装,并深入了解KES的部署流程。在本章中,我们将采用Windows平台上的可视化部署工具来进行集群的安装和配置。然而,由于硬件资源有限,本次演示仅展示单节点的成功部署,其他节......
  • 字符串的编码解码
    在Python中,字符串的编码解码是处理文本数据的重要操作,主要内容如下:编码概念:将字符串转换为字节序列的过程,以便在网络传输、文件存储等场景中处理。常用函数:字符串对象的encode()方法,如s="你好";b=s.encode('utf-8'),将字符串s按UTF-8编码规则转换为字节序列b。解码......
  • TSN便携式测试工具TESTBASE-ATT
    概述    车载以太网TSN是为满足车辆复杂数据传输而定义的一类协议族,已应用于多款新架构车型中。经纬恒润TestBaseATT(AutomotiveTSNTester)产品可用于TSN部件级和系统级测试,保证TSN相关功能实现质量及可靠性。    TestBaseATT硬件支持8路PPS信号以及4路以太......
  • CAN/CANFD 总线干扰仪TESTBASE-BDI
    概述    总线干扰仪是CAN/CANFD总线一致性测试中必不可少的重要设备,用于实现采样点以及故障注入等测试项配合桌面式车载网络自动化测试系统TESTBASE-DESKNAT以及基于VBA的CAN/CANFD一致性测试套件可以便捷、高效、精准的完成CAN/CANFD总线一致性测试。TESTBASE-BDI及采......
  • 从mysql信创迁移oceanbase的记录
    =============================================== 2025/1/7_第1次修改                       粽先生 ===============================================公司一直做各个方面的信创迁移工作,稳态数据库选择的是oceanbase。最近做程序改造和迁移的过......
  • 桌面式车载网络自动化测试系统TESTBASE-DESKNAT
    概述    车载网络是汽车电子控制系统交互的桥梁,直接影响整车功能实现及可靠性。经纬恒润在国内较早开展车载网络测试业务,深耕网络技术20多年,现基于自主车载网络测试工具VBA以及丰富的工程经验,推出桌面式网络自动化测试系统TestBase_DESKNAT(DeskNetworkAutomaticTest)2.0......
  • git rebase 的作用
    一、作用:清理提交历史‌:当在开发过程中频繁提交(如修复小的编译错误或调试输出),并希望将这些提交合并为一个更有意义的提交时,可以使用GitRebase。‌在共享分支上保持历史线性‌:在团队协作中,如果你正在一个需要保持清晰线性历史的分支(如master或main分支)上工作,GitRebase可以帮助......