ITPub博客

首页 > IT职业 > IT图书 > PHP 做 RSA 签名 生成订单

PHP 做 RSA 签名 生成订单

IT图书 作者:liuxuhui 时间:2021-09-09 09:36:06 0 删除 编辑


//组合签名$a=time();$b=substr($a, 1);//生成随机订单号$orderid= $b.mt_rand(10000,99999);//合作身份者id,以2088开头的16位纯数字$mygoods['partner']="2088011744308664";//商家账号$mygoods['seller']="zfb@sinoglobal.com.cn";//订单号$mygoods['out_trade_no']=$orderid;//主题$mygoods['subject']=$goods_name;//商品描述信息$mygoods['body']=$goods_infro;//商品价格$mygoods['total_fee']=$score;//服务器端异步响应地址$mygoods['notify_url']= "http://211.149.220.47/php/notify_url.php";//排序$mygoods = argSort($mygoods);//拼接$mystr = createLinkstring($mygoods);//签名$sign = rsaSign($mystr);//对签名进行urlencode转码$sign = urlencode($sign);//生成最终签名信息$orderInfor = $mystr."&sign=".$sign."&sign_type=RSA"; function createLinkstring($para) {    $arg  = "";    while (list ($key, $val) = each ($para)) {        $arg.=$key."=".$val."&";    }    //去掉最后一个&字符    $arg = substr($arg,0,count($arg)-2);         //如果存在转义字符,那么去掉转义    if(get_magic_quotes_gpc()){$arg = stripslashes($arg);}         return $arg;}function argSort($para) {    ksort($para);    reset($para);    return $para;} function rsaSign($data, $private_key_path) {    $priKey = file_get_contents($private_key_path);    $res = openssl_get_privatekey($priKey);    openssl_sign($data, $sign, $res);    openssl_free_key($res);    //base64编码    $sign = base64_encode($sign);    return $sign;}


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/756/viewspace-2810888/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-06-19

  • 博文量
    583
  • 访问量
    11547