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