NickyHaris
V2EX  ›  问与答

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

  •  
  •   NickyHaris · Oct 25, 2018 · 1698 views
    This topic created in 2850 days ago, the information mentioned may be changed or developed.

    1ZyeVehkF/uaGw+aflQMEQ==

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

    难道是多层加密?

    Supplement 1  ·  Oct 25, 2018
    写错了,MVp5ZVZlaGtGL3VhR3crYWZsUU1FUT09 是 base64Encode 的结果,decode 后是十六进制<d59c9e55e86417fb9a1b0f9a7e540c11>
    Supplement 2  ·  Oct 25, 2018
    提供一个实例:

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

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

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

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

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

    你这个看起来是借用 base64 编码内容的人类不可读特性,不知道还有没有其它作用在里面
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5333 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 06:45 · PVG 14:45 · LAX 23:45 · JFK 02:45
    ♥ Do have faith in what you're doing.