_getMarketMysql(), 't_callback', array( 'cb_uuid' => $cbUuid ) ); if (!$row) { error_log('error sign1:' . json_encode($_REQUEST)); myself()-_rspErr(self::ERRCODE_SIGN_ERROR, 'not found cb info'); die(); } $sign = self::normalMd5Sign($_REQUEST, $row['secret_key'], array('_sign')); if ($sign != $row['signature']) { error_log('error sign2:' . json_encode($_REQUEST)); myself()->_rspErr(self::ERRCODE_SIGN_ERROR, 'sign error'); die(); } } public static function normalMd5Sign($params, $secretKey, $excludeKeys){ ksort($params); $paramsStr = ''; $connStr = '&'; foreach($params as $key => $val){ if (!in_array($key, $excludeKeys)) { $paramsStr = $paramsStr . $key . '=' . $val . $connStr; } } return md5($paramsStr . $secretKey); } }