<?php
function unWebSafeAndPad($oriString) {
$pad = "";
if (strlen($oriString) % 4 == 2) {
$pad = "==";
} else if (strlen($oriString) % 4 == 3) {
$pad = "=";
}
$aftString=str_replace('-','+',$oriString);
$aftString=str_replace('_','/',$aftString);
$aftString .=$pad;
return $aftString;
}
$win_price_org="WS9LmQAOGIAKhxmVAAoLX-7A2eImDaKldk0BHQ"; // (*)
$encodePrice=urldecode($win_price_org);
$safePrice=unWebSafeAndPad($encodePrice);
$decodePrice= base64_decode($safePrice);
$eKey='2d0aIoOnAp8ZSTXEuqPJEm2GgE4Qp2KHcvxAjRhelSU='; // (*)
$eKey=base64_decode($eKey);
$iKey='uoVj+Ii4LUInow4xos46phIE2yq3J4otQzcYTfMcmk4='; // (*)
$iKey=base64_decode($iKey);
$iv=substr($decodePrice,0,16);
$p=substr($decodePrice,16,8);
$sig=substr($decodePrice,24,4);
$pricePad = hash_hmac('sha1',$iv,$eKey,true);
$price = $p ^ $pricePad;
$priceRaw=unpack('c*',($price));
echo $price;
- Output for git.master, git.master_jit, rfc.property-hooks