body; $reqTimeStr=$obj->header->requestTime; $version=$obj->header->version; $serviceName=$obj->header->serviceName; $signSource=$obj->header->sign; $bodyJsonStr=$aes->decrypt($bodyStr,$aesKey,$aesIv); $signTarget=strtolower(md5($accountId.$serviceName.$reqTimeStr.$bodyStr.$version.$signKey)); echo($signTarget); class AES{ /** * * @param string $string * @param int $blocksize Blocksize * @return String */ private function addPkcs7Padding($string, $blocksize = 16) { $len = strlen($string); $pad = $blocksize - ($len % $blocksize); $string .= str_repeat(chr($pad), $pad); return $string; } /** * * @param String * * @return String */ private function stripPkcs7Padding($string){ $slast = ord(substr($string, -1)); $slastc = chr($slast); $pcheck = substr($string, -$slast); if(preg_match("/$slastc{".$slast."}/", $string)){ $string = substr($string, 0, strlen($string)-$slast); return $string; } else { return false; } } private function decodeBytes($hex) { $str = ''; for($i=0;$i> 4 & 0xf) + ord('a'); $str .= chr($ch); $ch = ($tmpValue & 0xf) + ord('a'); $str .= chr($ch); } return $str; } /** * * @param String $encryptedText * @param String $secretKey * @param String $vector * @return String */ function decrypt($encryptedText, $secretKey, $vector) { $str = $this->decodeBytes($encryptedText); return $this->stripPkcs7Padding(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $secretKey, $str, MCRYPT_MODE_CBC, $vector)); } /** * * @param String $encryptedText * @param String $secretKey * @param String $vector * @return String */ function encrypt($decData, $secretKey, $vector) { $base = (mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $secretKey,$this->addPkcs7Padding($decData,16) , MCRYPT_MODE_CBC, $vector)); return $this->encodeBytes($base); } } ?>