V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
jasondennis12139
V2EX  ›  程序员

有没有一种不解密可以对 Base64 进行部分明文的匹配的方法?

  •  
  •   jasondennis12139 · 2021-12-21 11:31:54 +08:00 · 1605 次点击
    这是一个创建于 1093 天前的主题,其中的信息可能已经有所发展或是发生改变。
    5 条回复    2021-12-21 12:01:48 +08:00
    wyx119911
        1
    wyx119911  
       2021-12-21 11:34:33 +08:00
    把匹配的 key 先 base64 ,再做字符串匹配?
    qieqie
        2
    qieqie  
       2021-12-21 11:38:10 +08:00
    base64 只是一种编码,和你匹配中文字符串并无本质区别。
    ThirdFlame
        3
    ThirdFlame  
       2021-12-21 11:38:35 +08:00
    有 , base64 每 3 个字符变为 4 个。 如果你认为有部分明文“ABCDEF”
    那么你分别对 “ABCDEF”编码查找、 对“BCDEF”编码查找、对“CDEF”编码查找即可。

    当然会造成分别无法覆盖到”A“、”AB“的情况。
    liuidetmks
        4
    liuidetmks  
       2021-12-21 11:40:38 +08:00
    可以吧,你要匹配的明文是 ABC
    分情况, 前面刚好是 key 的 base64
    再一种是 key 前面补齐 2bit ,然后在 base64, 舍弃前面一个字母
    再一种是 key 前面补齐 4bit ,然后在 base64, 舍弃前面一个字母
    flyingghost
        5
    flyingghost  
       2021-12-21 12:01:48 +08:00
    base64 基操就是把 8bit 的字节们按 6bit 重新切割并查表转换成对应字符。
    那么假设有字符串 abc ,转成二进制 01100001 01100010 01100011 。
    按它在原文中出现的 bit 位置,有 6n/6n+2/6n+4 三种情况,
    那它被分割的可能性就有三种:
    011000 010110 001001 100011 YWJj
    0110 000101 100010 011000 11 ?FiY?
    01 100001 011000 100110 0011 ?hYm?

    所以就去搜这三种情况,搜到了,再解码搜一次确认。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5958 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 06:15 · PVG 14:15 · LAX 22:15 · JFK 01:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.