php生成簽名


// 生成簽名
private function makeSignature($params)
{
foreach ($params as $key=>$value){
$arr[$key] = $key;
}

sort($arr); //字典排序的作用就是防止因為參數順序不一致而導致下面拼接加密不同
$str = "";
foreach ($arr as $k => $v) {
$str = $str.$arr[$k].$params[$v];
}

$resStr=$str.$secret;
$signature = strtoupper(sha1($resStr));
$params['signature'] = $signature;
return $params;
}

// 簽名驗證
public function validSignature($params)
{
$signature = $params['signature'];

unset($params['signature']);
$newSign = $this->makeSignature($params);
if($signature == $newSign['signature']){
return true;
} else {
return false;
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM