用HMAC-SHA1解密超本地化

时间:2014-04-16 21:59:31

标签: java encryption

通过Google的RTB文档,我一直在尝试解密我得到的超本地字符串(目前使用文档中的示例字符串进行测试:https://developers.google.com/ad-exchange/rtb/response-guide/decrypt-hyperlocal)。

在我做的第一次尝试中,我继续获取ArrayIndexOutOfBoundsException(AdxBidRequestDecryptor类)。

在第二次尝试中(基于Google自己的代码),在验证失败后我得到这样的输出: qT p R < h 7 $ Ci ,H} XK:?&安培;쯄LK'< ZN垒} iAsXS \ bxvV'P !〜千瓦时@克Mim5ŗPg-+SmlHϯcՠ&安培; QX'{\\ 5 \ f是氟烃基; \ tP的\ nvdq;铅和LT; D_E)F&安培; MWnSd〜Jz_4ǶFp57uӴM v $ 3gfq

Google的RTB文档并不十分清楚该字符串究竟是什么,它们的解密器sample code主要基于C ++代码和Java代码,它们似乎只验证其中的签名。

我不确定original code (contains my own version and a modified Google version with my own changes)是否只需要进行一些调整,或者我的实施是否只是在核心存在缺陷。

1 个答案:

答案 0 :(得分:-1)

我与Google联系以了解原因。答案是该文件是错误的。 提供的154字节代码未加密到超本地集,它已加密到出价请求集。 我成功解码了超本地集。

  1. 从十六进制解密到二进制数据。
  2. 从二进制数据解密到出价请求集,使用出价请求协议缓冲区并获取每个idfa,超本地集和其他设置。
  3. 使用超本地协议缓冲区从超本地集(二进制数据)解密到超本地解密。
  4. 请看我的github(不过python和php) https://github.com/kay-si/Google_AdEx_Decrypt/blob/master/python/sample/hyperlocal.py