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