/**
* 价格上报加密:
* @author Vincenzo_Jiang
* @param string $requestId 请求Id
* @param int $price 加密价格
* @param string $iKey
* @param string $eKey
* @return string
*/
function priceSecret(string $requestId ,int $price, string $iKey, string $eKey): string
{
$requestId = strlen($requestId) < 16 ? md5($requestId) : $requestId;
$iv = substr($requestId, 0, 16);
$pad = substr(hash_hmac("sha1", $iv, $eKey, true),0, 8);
$price = pack("J", str_pad($price, 8, 0, STR_PAD_LEFT));
$encPrice = $pad ^ $price;
$signature = substr(hash_hmac("sha1", $price.$iv, $iKey, true), 0, 4);
return str_replace(["/", "+"], ["_", "-"], base64_encode($iv . $encPrice . $signature));
}
PHP版本实现谷歌实时竞价的价格加密
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 购物车页面 用uni-app来写的 代码实现 html部分代码 js部分代码 css 部分代码
- 90后的我面临着的压力有很多,没房没车还没有存款,想要往上爬 ,但是又迷茫。我真的只是一个普通的不能再普通的男孩,...
- 最近在看nginx设计原理时思考到两个问题,便是: 多个进程能否监听同个端口? 单个进程能否监听多个端口? 当然随...