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模式模式
- java/php/c#版rsa簽名以及java驗籤實現JavaPHPC#
- php生成rss訂閱PHP
- html生成郵件簽名HTML
- Java RSA (SHA1withRSA)簽名和驗籤Java
- openssl生成自簽名證書
- MACSHA256加密生成簽名Mac加密
- 動態生成簽名工具類
- "簡單"的加密簽名加密
- canvas橫屏簽名,簽名圖片旋轉90度生成base64Canvas
- PHP做api開發離不開簽名驗證,我這樣設計PHPAPI
- 使用OpenSSL生成自簽名SSL證書
- 蘋果企業簽名怎麼做?蘋果
- Android Studio生成簽名檔案,自動簽名,以及獲取SHA1和Android
- 簡單API介面簽名驗證API
- Net8 使用BouncyCastle 生成自簽名證書AST
- app直播原始碼,uniapp隨機數生成簽名APP原始碼隨機
- Java自動生成訂單序列號Java
- php國密SM3簽名演算法PHP演算法
- 為什麼我對簽名訊息的簽名驗證在PHP程式碼中未工作?PHP
- iOS簽名、iOS企業簽名、iOS超級簽名工具使用iOS
- iOS 隱私清單和SDK簽名iOS
- ios簽名證書簡單介紹iOS
- 自定義hybris生成訂單的ID格式
- IOS企業簽名的APP怎麼做分發?iOSAPP
- 生成RSA金鑰對
- PHP透過pem檔案校驗簽名異常PHP
- 蘋果企業簽名多少錢-ios企業簽名-企業簽名蘋果iOS
- 群簽名與環簽名的介紹
- PHP生成簡單二維碼PHP
- 前後端java+vue 實現rsa 加解密與摘要簽名演算法後端JavaVue解密演算法
- 修復SSH在 MacOS Ventura 系統上不能使用RSA簽名的問題Mac
- Pressone 簽名
- 簽名修改
- 環簽名
- vue3 最佳化ai生成的手寫簽名VueAI
- 申請程式碼簽名證書如何生成CSR檔案