PHP 做 RSA 簽名 生成訂單
//組合簽名 $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' ]= "" ; //排序 $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部落格 ” ,連結:http://blog.itpub.net/756/viewspace-2810888/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PHP RSA2 簽名演算法PHP演算法
- RSA簽名的PSS模式模式
- python RSA簽名和解籤Python
- java/php/c#版rsa簽名以及java驗籤實現JavaPHPC#
- php生成rss訂閱PHP
- html生成郵件簽名HTML
- Android 打包簽名 從生成keystore到完成簽名Android
- Java RSA (SHA1withRSA)簽名和驗籤Java
- java使用RSA加密方式,實現數字簽名Java加密
- RSA加密解密及數字簽名Java實現加密解密Java
- openssl生成自簽名證書
- 動態生成簽名工具類
- 生成自簽名SSL證書
- MACSHA256加密生成簽名Mac加密
- iOS RSA的網路安全模型、iOS簽名機制總結(登入、token安全、簽名)iOS模型
- 蘋果企業簽名怎麼做?蘋果
- android簽名生成和釋出Android
- "簡單"的加密簽名加密
- python實現aes加密解密,RSA簽名和驗籤,RSA加密解密,並呼叫介面Python加密解密
- canvas橫屏簽名,簽名圖片旋轉90度生成base64Canvas
- 使用OpenSSL生成自簽名SSL證書
- PHP做api開發離不開簽名驗證,我這樣設計PHPAPI
- 一篇搞定RSA加密與SHA簽名|與Java完全同步加密Java
- User模式下內建apk做重簽名.模式APK
- Android 生成簽名apk與多渠道打包AndroidAPK
- 簡單API介面簽名驗證API
- Android Studio生成簽名檔案,自動簽名,以及獲取SHA1和Android
- Java自動生成訂單序列號Java
- windows下使用makecert命令生成自簽名證書Windows
- Net8 使用BouncyCastle 生成自簽名證書AST
- Android簽名與認證詳細分析之一(CERT.RSA剖析)Android
- Android簽名與認證詳細分析之二(CERT.RSA剖析)Android
- iOS簽名、iOS企業簽名、iOS超級簽名工具使用iOS
- ios簽名證書簡單介紹iOS
- iOS 隱私清單和SDK簽名iOS
- 蘋果企業簽名多少錢-ios企業簽名-企業簽名蘋果iOS
- 為什麼我對簽名訊息的簽名驗證在PHP程式碼中未工作?PHP
- php國密SM3簽名演算法PHP演算法