V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
nowheretoseek
V2EX  ›  问与答

这是什么编码/加密的字符串?

  •  
  •   nowheretoseek · 2018-10-25 12:45:15 +08:00 · 1319 次点击
    这是一个创建于 2222 天前的主题,其中的信息可能已经有所发展或是发生改变。

    1ZyeVehkF/uaGw+aflQMEQ==

    base64 没有密钥之类的东西吧,用 base64Decode 试了下得到 MVp5ZVZlaGtGL3VhR3crYWZsUU1FUT09

    难道是多层加密?

    第 1 条附言  ·  2018-10-25 14:34:18 +08:00
    写错了,MVp5ZVZlaGtGL3VhR3crYWZsUU1FUT09 是 base64Encode 的结果,decode 后是十六进制<d59c9e55e86417fb9a1b0f9a7e540c11>
    第 2 条附言  ·  2018-10-25 21:03:47 +08:00
    提供一个实例:

    编码字符串:4GITyMPeSHA=
    base64decode 后的<hex>值:e06213c8c3de4870
    原始值:visa

    但是不知道中间过程是怎样的。
    2 条回复    2018-10-25 14:45:04 +08:00
    noe132
        1
    noe132  
       2018-10-25 13:41:14 +08:00
    base64 只是一种编码方式,可以将任意二进制数据编码到 base64.
    > Buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]).toString('base64')
    'YnVmZmVy'
    jasonyang9
        2
    jasonyang9  
       2018-10-25 14:45:04 +08:00
    base64,把原始数据看作是一长串二进制,然后每 6 位提取出来,编码为 2^6=64 种字符之一(具体看编码表,这肯定不会出现超过 ASCII 范围的内容了)。

    也就是说每 6 位变成了 8 位一字节,开销是增加了 1/3 长度。

    最初用在 RFC 822 邮件格式中,因为 RFC 822 规定邮件体只能包含 ASCII 内容,够变态吧,不过那是远古时期了,可以理解。当然还有其它编码算法,比如 Quoted Printable。。。

    以上自说自话,因为最近在看这方面的资料。

    你这个看起来是借用 base64 编码内容的人类不可读特性,不知道还有没有其它作用在里面
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2822 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 07:26 · PVG 15:26 · LAX 23:26 · JFK 02:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.