当前位置: 首页>>代码示例>>PHP>>正文


PHP Prpcrypt::encrypt方法代码示例

本文整理汇总了PHP中Prpcrypt::encrypt方法的典型用法代码示例。如果您正苦于以下问题:PHP Prpcrypt::encrypt方法的具体用法?PHP Prpcrypt::encrypt怎么用?PHP Prpcrypt::encrypt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Prpcrypt的用法示例。


在下文中一共展示了Prpcrypt::encrypt方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: encryptMsg

 /**
  * 将公众平台回复用户的消息加密打包.
  * <ol>
  *    <li>对要发送的消息进行AES-CBC加密</li>
  *    <li>生成安全签名</li>
  *    <li>将消息密文和安全签名打包成xml格式</li>
  * </ol>
  *
  * @param $replyMsg string 公众平台待回复用户的消息,xml格式的字符串
  * @param $timeStamp string 时间戳,可以自己生成,也可以用URL参数的timestamp
  * @param $nonce string 随机串,可以自己生成,也可以用URL参数的nonce
  * @param &$encryptMsg string 加密后的可以直接回复用户的密文,包括msg_signature, timestamp, nonce, encrypt的xml格式的字符串,
  *                      当return返回0时有效
  *
  * @return int 成功0,失败返回对应的错误码
  */
 public function encryptMsg($replyMsg, $timeStamp, $nonce, &$encryptMsg)
 {
     $pc = new Prpcrypt($this->encodingAesKey);
     //加密
     $array = $pc->encrypt($replyMsg, $this->appId);
     $ret = $array[0];
     if ($ret != 0) {
         return $ret;
     }
     if ($timeStamp == null) {
         $timeStamp = time();
     }
     $encrypt = $array[1];
     //生成安全签名
     $sha1 = new SHA1();
     $array = $sha1->getSHA1($this->token, $timeStamp, $nonce, $encrypt);
     $ret = $array[0];
     if ($ret != 0) {
         return $ret;
     }
     $signature = $array[1];
     //生成发送的xml
     $xmlparse = new XMLParse();
     $encryptMsg = $xmlparse->generate($encrypt, $signature, $timeStamp, $nonce);
     return ErrorCode::$OK;
 }
开发者ID:lonson,项目名称:Wechat_PHP_SDK,代码行数:42,代码来源:WXBizMsgCrypt.php

示例2: encrypt

	public function encrypt($replyMsg, $timeStamp, $nonce, &$encryptMsg)
	{
		$pc = new Prpcrypt($this->encodingAesKey);

		$array = $pc->encrypt($replyMsg, $this->appId);
		$ret = $array[0];
		if ($ret != 0) {
			return $ret;
		}

		if ($timeStamp == null) {
			$timeStamp = time();
		}
		$encrypt = $array[1];

		$sha1 = new SHA1;
		$array = $sha1->getSHA1($this->token, $timeStamp, $nonce, $encrypt);
		$ret = $array[0];
		if ($ret != 0) {
			return $ret;
		}
		$signature = $array[1];

		$format = "<xml>
<Encrypt><![CDATA[%s]]></Encrypt>
<MsgSignature><![CDATA[%s]]></MsgSignature>
<TimeStamp>%s</TimeStamp>
<Nonce><![CDATA[%s]]></Nonce>
</xml>";
		$encryptMsg = sprintf($format, $encrypt, $signature, $timeStamp, $nonce);
		return ErrorCode::$OK;
	}
开发者ID:jianhua1982,项目名称:LaneWeChat,代码行数:32,代码来源:wx_encrypt.php

示例3: EncryptMsg

 public function EncryptMsg($plain, $timeStamp, $nonce, &$encryptMsg)
 {
     $pc = new Prpcrypt($this->m_encodingAesKey);
     $array = $pc->encrypt($plain, $this->m_suiteKey);
     $ret = $array[0];
     if ($ret != 0) {
         return $ret;
     }
     if ($timeStamp == null) {
         $timeStamp = time();
     }
     $encrypt = $array[1];
     $sha1 = new SHA1();
     $array = $sha1->getSHA1($this->m_token, $timeStamp, $nonce, $encrypt);
     $ret = $array[0];
     if ($ret != 0) {
         return $ret;
     }
     $signature = $array[1];
     $encryptMsg = json_encode(array("msg_signature" => $signature, "encrypt" => $encrypt, "timeStamp" => $timeStamp, "nonce" => $nonce));
     return ErrorCode::$OK;
 }
开发者ID:vincent067,项目名称:openapi-demo-php,代码行数:22,代码来源:DingtalkCrypt.php

示例4: reply

 /**
  *
  * 回复微信服务器, 此函数支持链式操作
  * Example: $this->text('msg tips')->reply();
  * @param string $msg 要发送的信息, 默认取$this->_msg
  * @param bool $return 是否返回信息而不抛出到浏览器 默认:否
  */
 public function reply($msg = array(), $return = false)
 {
     if (empty($msg)) {
         if (empty($this->_msg)) {
             //防止不先设置回复内容,直接调用reply方法导致异常
             return false;
         }
         $msg = $this->_msg;
     }
     $xmldata = $this->xml_encode($msg);
     $this->log($xmldata);
     if ($this->encrypt_type == 'aes') {
         //如果来源消息为加密方式
         $pc = new Prpcrypt($this->encodingAesKey);
         $array = $pc->encrypt($xmldata, $this->appid);
         $ret = $array[0];
         if ($ret != 0) {
             $this->log('encrypt err!');
             return false;
         }
         $timestamp = time();
         $nonce = rand(77, 999) * rand(605, 888) * rand(11, 99);
         $encrypt = $array[1];
         $tmpArr = array($this->token, $timestamp, $nonce, $encrypt);
         //比普通公众平台多了一个加密的密文
         sort($tmpArr, SORT_STRING);
         $signature = implode($tmpArr);
         $signature = sha1($signature);
         $xmldata = $this->generate($encrypt, $signature, $timestamp, $nonce);
         $this->log($xmldata);
     }
     if ($return) {
         return $xmldata;
     } else {
         echo $xmldata;
     }
 }
开发者ID:phpchen,项目名称:yiyuangou,代码行数:44,代码来源:Wechat.class.php

示例5: Prpcrypt

<?php

include_once "request.php";
$action = @get("action");
$source = @post("source");
$aesKey = @post("key");
$no = @post("no");
if (isset($source)) {
    $pc = new Prpcrypt($aesKey);
    if ($action == "encrypt") {
        $result = $pc->encrypt($source, $no);
    } else {
        $result = $pc->decrypt($source);
        // var_dump($result);
    }
    $response = array("success" => true, "result" => $result);
    printf(json_encode($response));
}
/**
 * PKCS7Encoder class
 *
 * 提供基于PKCS7算法的加解密接口.
 */
class PKCS7Encoder
{
    public static $block_size = 32;
    /**
     * 对需要加密的明文进行填充补位
     * @param $text 需要进行填充补位操作的明文
     * @return 补齐明文字符串
     */
开发者ID:mysterin,项目名称:myutils,代码行数:31,代码来源:aes.php


注:本文中的Prpcrypt::encrypt方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。