Java 用HMAC-SHA1解密超局部

Java 用HMAC-SHA1解密超局部,java,encryption,Java,Encryption,通过查看Google的RTB文档,我一直在尝试使用文档中要测试的示例字符串解密当前获取的超本地字符串: 在我的第一次尝试中,我一直在使用AdxBidRequestDecryptor类获取ArrayIndexOutOfBoundsException 在基于谷歌自己代码的第二次尝试中,我在验证失败后得到如下输出:�qT����P�R���� 我联系了谷歌,想知道原因。答案是文件错了。 提供的154字节代码未加密到超本地集,而是加密到投标请求集。 我成功地解码了超局部集 将十六进制数据解密为二进制数据

通过查看Google的RTB文档,我一直在尝试使用文档中要测试的示例字符串解密当前获取的超本地字符串:

在我的第一次尝试中,我一直在使用AdxBidRequestDecryptor类获取ArrayIndexOutOfBoundsException


在基于谷歌自己代码的第二次尝试中,我在验证失败后得到如下输出:�qT����P�R���� 我联系了谷歌,想知道原因。答案是文件错了。 提供的154字节代码未加密到超本地集,而是加密到投标请求集。 我成功地解码了超局部集

将十六进制数据解密为二进制数据。 使用Bid请求协议缓冲区将二进制数据解密到Bid请求集,并获得每个idfa、超本地集和其他集。 使用超本地协议缓冲区将超本地SetBinary数据解密为超本地解密。 请看我的github,但是python和php

好的,那么您通过了解密的验证部分第3步了吗?如果你对输出进行十六进制编码,你能告诉我你得到了什么吗?它不可能以字符串的形式显示任何有用的内容。当我输入测试键时,我没有通过验证部分,而是将其作为测试在main中通过。但是,我只需传入一个伪字符串,如下所述:。我的基本想法是解密这里描述的超本地字符串,但即使是谷歌代码也让我陷入了圈套。如前所述,您能否显示谷歌的输出,以及(如果可能的话)一些纯文本数据以进行比较?我发送这个字符串:private static final byte[]long_ciphertext=HexStringToByTerraye2014EA201246E6F6E6365520736F75726365014143C0ADF6B6AC17DA218FB50331EDB376701309CAAA01246E6F6E6365520736F7572636501414243C09ED4ECF27143A9341FDEFD125D96844E25C3C202466E6E6365520736736B757EDB75726AFADCFAB841DE3A3A8C617B27F7572636501417B737ECF20197047B797B7EB01767B1767B797B7B1676767676767677B737B737B79017B7B737D67017B737B737B798C607017B7B79017B7B7B7B7B;我应该在解密后得到这个:加密的超本地集:{100100},{200,-300},{-400500},{-600,-700},同样,请不要以十六进制打印文本。如果你在回答中详细解释你是如何修复的,而不是链接到一个外部站点,那会更好,因为外部链接最终可能会中断并使答案不再有用。