示例#1
0
 /**
  * @param string $extraXml
  * @return string
  */
 protected function buildContentXml($extraXml)
 {
     $format = '<xml>
        <Encrypt><![CDATA[%s]]></Encrypt>
        <MsgSignature><![CDATA[%s]]></MsgSignature>
        <TimeStamp>%s</TimeStamp>
        <Nonce><![CDATA[%s]]></Nonce>
     </xml>';
     $timestamp = time();
     $nonce = uniqid();
     $plainXml = $this->buildPlainXml($extraXml);
     $encryptXml = $this->buildEncryptedXml($plainXml);
     $signature = CallbackCredential::getSHA1($this->_token, $timestamp, $nonce, $encryptXml);
     return sprintf($format, $encryptXml, $signature, $timestamp, $nonce);
 }
示例#2
0
 /**
  * @param string $timestamp
  * @param string $nonce
  * @param string $echoStr
  * @return string
  */
 protected function getSignature($timestamp, $nonce, $echoStr)
 {
     return CallbackCredential::getSHA1($this->_token, $timestamp, $nonce, $echoStr);
 }
 /**
  * @param CallbackCredential $credential
  * @return $this
  */
 public function setCallback(CallbackCredential $credential)
 {
     return $this->setData('callback', $credential->toArray());
 }