pay/hf_zfb/web_sdk.php

(开头部分) 6KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php
/*admin
 * 2016-11-28
 * 外部应用加解密demo
 * */
class webApp{
    #密码必须经过sha1 加密
    #金额不会用小数点表示 以分为单位
    #参数名称及加密后字符,默认使用小写,除非有特别约定的地方会有特殊说明
    #所有接口请求数据必须要传open_id,timestamp,sign,data 四个参数,data 参数是aes 加密后的json 数据(为用户要提交的请求数据)。
    const DEBUG				=true;

    const open_url ='https://api.orangebank.com.cn/mct1/';//外网测试地址

    const open_id ='4f1d0e4a1908b203646c2a6a102b6e36'; //测试open_id 测试商户5
    const open_key ='d812d73487a3f9f94b932b48aa0f704c';//测试open_key 测试商户5
    const private_key = 'file/880000108_private_key.key'; //测试商户5 私钥地址


    #签名
    public function signs($array){
        $signature = array();
        foreach($array as $key=>$value){
            $signature[$key]=$key.'='.$value;
        }
        $signature['open_key']='open_key'.'='.self::open_key;
        ksort($signature);



        #先sha1加密 在md5加密
        $sign_str = md5(sha1(implode('&', $signature)));
        return $sign_str;
    }

    public function signs_ras($array,$signauture=OPENSSL_ALGO_SHA1){
        $signature = array();
        foreach($array as $key=>$value){
            $signature[$key]=$key.'='.$value;
        }
        $signature['open_key']='open_key'.'='.self::open_key;
        ksort($signature);
        $sign_str = implode('&', $signature);
        $privatekey = openssl_get_privatekey(file_get_contents(self::private_key));
        openssl_sign($sign_str,$sign_str,$privatekey,$signauture);
        return bin2hex($sign_str);
    }

    #使用post的传输
    public function api($url,$post){
        #必填参数

		$data['open_id']		=self::open_id;
		$data['timestamp']		=time();


      
        $data['data']= $post;
        unset($data['sign_type']);
        if(self::DEBUG){if($data){$this->debug('接口调用:'.$url,http_build_query($data));}else{$this->debug('接口调用:'.$url,'');}}
后面还有 124 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。