Hash 如何对此处使用的编码方法进行反向工程?

Hash 如何对此处使用的编码方法进行反向工程?,hash,encoding,base64,reverse-engineering,decoding,Hash,Encoding,Base64,Reverse Engineering,Decoding,我有一个字符串: RP581147238IN编码为A3294Fc0Mb0V1Tb4aBK8rw== 和另一个字符串: RP581147239IN编码为A3294Fc0Mb1BPqxRDrRXjQ== 但是花了一天的时间后,我仍然不知道编码过程是什么 编码的字符串看起来像其base64编码的字符串 但当我解码它时,它看起来像: base64.decodestring(“A3294Fc0Mb0V1Tb4aBK8rw==”) \x03}\xbd\xe0W41\xbdA>\xacQ\x0e\xb4W\x

我有一个字符串:

RP581147238IN
编码为
A3294Fc0Mb0V1Tb4aBK8rw==

和另一个字符串:

RP581147239IN
编码为
A3294Fc0Mb1BPqxRDrRXjQ==

但是花了一天的时间后,我仍然不知道编码过程是什么

编码的字符串看起来像其base64编码的字符串

但当我解码它时,它看起来像: base64.decodestring(“A3294Fc0Mb0V1Tb4aBK8rw==”)
\x03}\xbd\xe0W41\xbdA>\xacQ\x0e\xb4W\x8d

基本64解码字符串现在看起来像一个zlib压缩字符串

我试图进一步使用zlib解压方法,但没有一种有效

import zlib, base64
rt = 'A3294Fc0Mb1BPqxRDrRXjQ=='

for i in range(-50, 50):
    try:                                      
        print(zlib.decompress(base64.decodestring(rt), i));
        print("{} worked".format(i))
        break
    except:
        pass
但这也没有产生任何结果


有人知道这里使用的编码过程是什么吗@Nirlzr,我期待您在中提供的英雄式回答。

如果您将数据字符串并排放置:

RP581147238IN A3294Fc0Mb0V1Tb4aBK8rw==
RP581147239IN A3294Fc0Mb1BPqxRDrRXjQ==
您可以看到源字符串只有字符差异,但编码版本包含12个不同的字符:

  ----------8-- ----------0V1Tb4aBK8rw--
  ----------9-- ----------1BPqxRDrRXjQ--

编码后的数据在末尾具有与base64类似的填充,但它肯定不是base64。可能是用类似SHA的算法加密的。根据您提供的数据,我认为不可能对编码过程进行反向工程。可能更多的数据也不会有多大帮助。

字符串似乎是Base64编码的,而底层解码的数据似乎是加密的。加密数据不能直接表示为字符串,当需要字符串时,通常使用Base64编码加密数据

如果是这种情况,您需要解密解码后的数据,然后ignorer来完成此操作,您将需要加密密钥


注意:一般来说,压缩这样短的项目是没有成效的。

@Nirlzr,我正在寻求您的帮助。不幸的是,我认为我在这里帮不上忙。除非您愿意做更多的工作,否则您需要对生成这些输出的代码进行反向工程,以了解它的功能。