Decrypt Price Confirmations

原文地址 https://developers.google.com/ad-exchange/rtb/response-guide/decrypt-price?hl=zh-cn%23decryption_scheme

<?php

function urlsafe_b64decode($string) {
$data = str_replace(array('-','_'),array('+','/'),$string);
$mod4 = strlen($data) % 4;
if ($mod4) {
$data .= substr('====', $mod4);
}
return base64_decode($data);
} function decode($final_message, $e_key, $i_key) {
$enc_price = urlsafe_b64decode($final_message);
$iv = substr($enc_price, 0, 16);
$p = substr($enc_price, 16, 8);
$sig = substr($enc_price, 24, 4);
$price_pad = hash_hmac("sha1", $iv, $e_key, true);
$price = $p ^ $price_pad;
$conf_sig = hash_hmac("sha1", $price . $iv, $i_key, true);
if ($conf_sig != $sig) {
return false;
}
return $price;
}
$e_key = "encrypriceencodingwhenintegratin";
$i_key = "integpriceencodingwhenintegratin";
foreach(["cHJpY2VlbmNvZGluZ3doZTzUyMb2dirzYcjALQ", "cHJpY2VlbmNvZGluZ3doZTjUy8b2dirzYXcL0Q", "cHJpY2VlbmNvZGluZ3doZTzKyOjDQx_zjiVOmw", "cHJpY2VlbmNvZGluZ3doZTrN1vbBdirz1G52-Q"] as $msg) {
echo decode($msg, $e_key, $i_key) . PHP_EOL;
}

最新文章

  1. java知识点
  2. UVA 11404 五 Palindromic Subsequence
  3. 【转】1.5 起步 - 初次运行 Git 前的配置
  4. Nagios显示器MySQL一个错误:NRPE: Unable to read output具体的解决过程
  5. asp.net URL DES加密 什在URL中的使用
  6. Spring中Quartz的配置及corn表达式
  7. Software Engineering-HW2
  8. Windows下安装Redis客户端
  9. RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2-&gt;Web版本新增新的角色授权管理界面效率更高、更规范
  10. tomcat logs目录下 日志文件含义及配置位置
  11. Android Studio学习之 日志工具
  12. npm安装插件
  13. c++ 日志输出库 spdlog 简介(2)
  14. idea中的language level 介绍
  15. leetcode1019
  16. linux RCU锁机制分析
  17. boost--线程
  18. HTTPS 指南
  19. Azkaban-开源任务调度程序(安装篇)
  20. swift - 封装 GCDTimer 和 NSTimer

热门文章

  1. P2P 行业解决方案
  2. 基于node安装gulp-一些命令
  3. DatacontractSerializer序列化
  4. s:iterator的用法
  5. centOS 7镜像文件下载
  6. SQL 之连接查询
  7. Spring中三个重要概念 IOC AOP Bean
  8. JS 浮点数计算
  9. 01-Web客户端与服务器详解
  10. Hibernate与mybatis比较