PHP版本解密openrtb中的价格

 

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;
}

 

转载于:https://www.cnblogs.com/23lalala/p/6164891.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值