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編碼