wemall-mobile是基于WeMall的Android app商城,只须要在原商城目录下上传接口文件便可完成服务端的配置,客户端可定制修改。本文分享支付宝接口RSA函数,RSA签名、验签、解密等,供技术员参考学习。微信
如下代码只是为了方便商户测试而提供的样例代码,商户能够根据本身网站的须要,按照技术文档编写,并不是必定要使用该代码,该代码仅供学习和研究支付宝接口使用,只是提供一个参考。app
wemall官网地址:http://www.wemallshop.com
/**koa
RSA签名函数
@param $data 待签名数据学习
@param $private_key_path 商户私钥文件路径测试
return 签名结果
*/网站
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; } /** * RSA验签 * @param $data 待签名数据 * @param $ali_public_key_path 支付宝的公钥文件路径 * @param $sign 要校对的的签名结果 * return 验证结果 */ function rsaVerify($data, $ali_public_key_path, $sign) { $pubKey = file_get_contents($ali_public_key_path); $res = openssl_get_publickey($pubKey); $result = (bool)openssl_verify($data, base64_decode($sign), $res); openssl_free_key($res); return $result; } /** * RSA解密 * @param $content 须要解密的内容,密文 * @param $private_key_path 商户私钥文件路径 * return 解密后内容,明文 */ function rsaDecrypt($content, $private_key_path) { $priKey = file_get_contents($private_key_path); $res = openssl_get_privatekey($priKey); //用base64将内容还原成二进制 $content = base64_decode($content); //把须要解密的内容,按128位拆开解密 $result = ''; for($i = 0; $i < strlen($content)/128; $i++ ) { $data = substr($content, $i * 128, 128); openssl_private_decrypt($data, $decrypt, $res); $result .= $decrypt; } openssl_free_key($res); return $result; }
wemall官网地址:http://www.wemallshop.com
原文详情地址:http://Git.oschina.NET/zzunet...
wemall doraemonAndroid app商城详情地址:http://www.koahub.com/home/pr...
WeMall - 开源微商城 微信商城 商城源码 分销商城 b2b2c商城系统
wemall编码