文档
diff --git "a/source/_posts/\344\270\200\345\215\241\351\200\232v5\347\254\254\344\270\211\346\226\271\345\205\205\345\200\274\346\216\245\345\217\243\346\226\207\346\241\243.md" "b/source/_posts/\344\270\200\345\215\241\351\200\232v5\347\254\254\344\270\211\346\226\271\345\205\205\345\200\274\346\216\245\345\217\243\346\226\207\346\241\243.md"
index bf70244..df0d82b 100644
--- "a/source/_posts/\344\270\200\345\215\241\351\200\232v5\347\254\254\344\270\211\346\226\271\345\205\205\345\200\274\346\216\245\345\217\243\346\226\207\346\241\243.md"
+++ "b/source/_posts/\344\270\200\345\215\241\351\200\232v5\347\254\254\344\270\211\346\226\271\345\205\205\345\200\274\346\216\245\345\217\243\346\226\207\346\241\243.md"
@@ -5,43 +5,248 @@
 
 ---
 
-## 1.1 充值初始化 ##
+## 1.1文档说明 ##
 
-### 请求URL: ###
+本文档用于描述了一卡通对第三方应用提供的通用支付api接口文档,供第三方系统(前置和应用)对接参考。
 
-- `http://xx.com/api/user/register`
+## 1.2约定 ##
 
-### 请求方式: ### 
+1.	传输编码统一为utf-8
+2.	RSA 加密算法为本接口采用的非对称加密算法,`SIGN_ALGORITHMS ="SHA1WithRSA"`;
+3.	RSA公钥由本系统提供,本系统返回信息的签名数据,第三方系统得到后通过公钥校验算法,验证返回数据的合法性
+4.	HMAC加密算法为用户请求本系统采用的加密算法,`SIGN_ALGORITHMS ="HMAC-SHA1"`;
+5.	具体签名生成参考后面的签名章节
+6.	retcode等于0表示成功,非0表示失败,失败具体信息查看retmsg
+7.	密码加密的原始串为timestamp:pwd
+
+
+## 2.1 通用账户查询 ##
+
+**请求URL:**
+
+- `https://ip:port/epayapi/services/thirdparty/common/accountquery`
+
+**请求方式/格式:** 
 
 - POST
+- application/x-www-form-urlencoded
 
-### 请求参数: ###
+**请求参数:**
 
-|参数名 | 必选 | 类型 | 说明 |
+|参数名 | 类型 | 必选 | 说明 |
 |-----|------|-----|------|
-|id| 是 |String|系统参数id| 
-|name|是|String|用户名| 
-|name|是|String|用户名| 
+|partner_id|String|是      |本系统分配给各个接入应用的合作伙伴id号|
+|stuempno|String|是|	查询对象的学号|
+|timestamp|String|是|时间戳格式为yyyyMMddhh24miss|
+|sign|String|是|	签名|
+|sign_method|String|是|参数的加密方法选择,可选值是:HMAC 加密方式为HAMC-SHA1|
 
+**请求内容示例:**
+```html
+URI:https://ip:port/epayapi/services/thirdparty/common/accountquery
 
-### 返回示例 ###
+partner_id:10000
+stuempno:09893092
+timestamp:20150119130901
+sign:5195f9b9116e4adf67eeebc9935d33dc683f677d
+sign_method:HMAC
+```
 
-	 {
-	    "error_code": 0,
-	    "data": {
-	      "uid": "1",
-	      "username": "12154545",
-	      "name": "吴系挂",
-	      "groupid": 2 ,
-	      "reg_time": "1436864169",
-	      "last_login_time": "0",
-	    }
-  	}
+**返回示例:**
 
-### 返回参数说明 ###
+- 成功
+
+```json
+{
+	"retcode":"0",
+	"retmsg":"查询成功",
+	"stuempno":"09893092",
+	"username":"王二小",
+    "balance":4850,
+    "cardno":103920299,
+	"status":"正常",
+	"timestamp":"20160606150902",
+	"sign":"hjAtBGygGjFyOKEZmWdxi1tk51/xqLYTr5tm2+zQVfD1RHRzGVC9GNm4ZaXnUsHnu5o3kAZ4U32m0YNiSFpncs0pl1AnnCf1n2hhn39ruABsvD//GzkEINHjyHsnxBr44G2UhyNxplUj+s7s0a7ggjbiMk+BYC3u7VkU9/l+kZOTkEyqs+wZKumfByMZGvKVkY2c2Nr67RaSWd7bsfOJ6HYw2spvu3ptAo2RTrfCxZ0Kn5DcSDm4cagzPMZSHxB8isqqNGrdUaAU0wzzC7704iA5zze//SvCqpCJfYt0OrHOiJEN5kw1d4KESrKGMG6bezlXzAp0LbNlhl+HwZJcag==",
+    "sign_method": "RSA"
+}
+
+```
+
+- 失败
+
+```json
+{
+	"retcode":"1",
+	"retmsg":"账户不存在",
+	"timestamp":"20160606150902",
+	"sign": "hjAtBGygGjFyOKEZmWdxi1tk51/xqLYTr5tm2+zQVfD1RHRzGVC9GNm4ZaXnUsHnu5o3kAZ4U32m0YNiSFpncs0pl1AnnCf1n2hhn39ruABsvD//GzkEINHjyHsnxBr44G2UhyNxplUj+s7s0a7ggjbiMk+BYC3u7VkU9/l+kZOTkEyqs+wZKumfByMZGvKVkY2c2Nr67RaSWd7bsfOJ6HYw2spvu3ptAo2RTrfCxZ0Kn5DcSDm4cagzPMZSHxB8isqqNGrdUaAU0wzzC7704iA5zze//SvCqpCJfYt0OrHOiJEN5kw1d4KESrKGMG6bezlXzAp0LbNlhl+HwZJcag==",
+    "sign_method":"RSA"
+}
+
+```
+
+**返回参数说明:**
 
 |参数名 | 类型 | 说明 |
 |-----|-----|------|
-|id|String|系统参数id| 
-|name|String|用户名| 
-|name|String|用户名| 
\ No newline at end of file
+|retcode|String|返回码(0=成功,其他为失败)|
+|retmsg|String|返回消息|
+|stuempno|String|学号|
+|username|String|姓名|
+|balance|Integer|余额(分)|
+|cardno|Integer|卡号|
+|status|String|状态(正常)|
+
+## 2.2 通用充值 ##
+
+**请求URL:**
+
+- `https://ip:port/epayapi/services/thirdparty/common/recharge`
+
+**请求方式/格式:** 
+
+- POST
+- application/x-www-form-urlencoded
+
+**请求参数:**
+
+|参数名 | 类型 | 必选 | 说明 |
+|-----|------|-----|------|
+|partner_id|String|是      |本系统分配给各个接入应用的合作伙伴id号|
+|stuempno|String|是|	发起消费对象的学号|
+|tradeno|String(32)|是|第三方系统唯一流水号|
+|tradename|String(60)|是|交易名称|
+|amount|Integer|是|充值金额(分)|
+|timestamp|String|是|时间戳格式为yyyyMMddhh24miss|
+|sign|String|是|	签名|
+|sign_method|String|是|参数的加密方法选择,可选值是:HMAC 加密方式为HAMC-SHA1|
+
+**请求内容示例:**
+```html
+URI:https://ip:port/epayapi/services/thirdparty/common/pay
+
+partner_id:10000
+stuempno:09893092
+tradeno:20160607000001
+trandename:微信充值
+amount:2000
+timestamp:20150119130901
+sign:5195f9b9116e4adf67eeebc9935d33dc683f677d
+sign_method:HMAC
+```
+
+
+**返回示例:**
+
+- 成功
+
+```json
+{
+	"retcode":"0",
+	"retmsg":"充值成功"
+	"tradeno":"20160607000001",
+    "balance":4850,
+    "refno":"20160605190200000001",
+	"timestamp":"20160606150902",
+	"sign":"hjAtBGygGjFyOKEZmWdxi1tk51/xqLYTr5tm2+zQVfD1RHRzGVC9GNm4ZaXnUsHnu5o3kAZ4U32m0YNiSFpncs0pl1AnnCf1n2hhn39ruABsvD//GzkEINHjyHsnxBr44G2UhyNxplUj+s7s0a7ggjbiMk+BYC3u7VkU9/l+kZOTkEyqs+wZKumfByMZGvKVkY2c2Nr67RaSWd7bsfOJ6HYw2spvu3ptAo2RTrfCxZ0Kn5DcSDm4cagzPMZSHxB8isqqNGrdUaAU0wzzC7704iA5zze//SvCqpCJfYt0OrHOiJEN5kw1d4KESrKGMG6bezlXzAp0LbNlhl+HwZJcag==",
+    "sign_method": "RSA"
+}
+
+```
+
+- 失败
+
+```json
+{
+	"retcode":"1",
+	"retmsg":"账户状态错误",
+	"tradeno":"20160607000001",
+	"timestamp":"20160606150902",
+	"sign": "hjAtBGygGjFyOKEZmWdxi1tk51/xqLYTr5tm2+zQVfD1RHRzGVC9GNm4ZaXnUsHnu5o3kAZ4U32m0YNiSFpncs0pl1AnnCf1n2hhn39ruABsvD//GzkEINHjyHsnxBr44G2UhyNxplUj+s7s0a7ggjbiMk+BYC3u7VkU9/l+kZOTkEyqs+wZKumfByMZGvKVkY2c2Nr67RaSWd7bsfOJ6HYw2spvu3ptAo2RTrfCxZ0Kn5DcSDm4cagzPMZSHxB8isqqNGrdUaAU0wzzC7704iA5zze//SvCqpCJfYt0OrHOiJEN5kw1d4KESrKGMG6bezlXzAp0LbNlhl+HwZJcag==",
+    "sign_method":"RSA"
+}
+
+```
+
+**返回参数说明:**
+
+|参数名 | 类型 | 说明 |
+|-----|-----|------|
+|retcode|String|返回码(0=成功,其他为失败)|
+|retmsg|String|返回消息|
+|tradeno|String|第三方流水号|
+|refno|String|本系统生成流水号|
+|balance|Integer|账户余额(分)|
+
+
+## 附录A-用户请求HMAC签名算法 ##
+
+
+- 签名方式:`hmac-sha1`
+
+- 签名密钥由本系统统一线下提供
+
+
+- **签名校验的通用步骤如下:**
+
+	**第一步,**设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
+
+	**特别注意以下重要规则:**
+	
+
+- 参数名ASCII码从小到大排序(字典序);
+	
+
+- 如果参数的值为空不参与签名;
+	
+
+- 参数名区分大小写;
+	
+
+- 传送的sign参数不参与签名,用该sign值作校验。
+
+	**第二步,**用密钥secretkey对stringA字符串,进行hmac-sha1签名,得到sign值signValue。signValue最后采用十六进制小写hex编码生成签名字符串。
+
+
+## 附录B-服务端返回数据RSA签名校验算法 ##
+
+- 签名方式:`SHA1withRSA`
+- 签名校验的公钥key为本系统统一线下提供。
+
+- **签名校验的通用步骤如下:**
+
+**第一步,**设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
+
+**特别注意以下重要规则:**
+	
+
+- 参数名ASCII码从小到大排序(字典序);
+	
+
+- 如果参数的值为空不参与签名;
+	
+
+- 参数名区分大小写;
+	
+
+- 传送的sign参数不参与签名,用该sign值作校验。
+
+
+**第二步,**对sign值进行base64解码,用本系统提供的公钥key对sign签名值解码后的数据基于stringA字符串,进行SHA1withRSA签名验证
+
+> 举例:
+
+
+假设传送的参数如下:
+```
+retcode:1
+retmsg:账户余额不足
+timestamp:20160513155100
+sign_mehtod:RSA
+```
+
+对参数按照key=value的格式,并按照参数名ASCII字典序排序如下:
+```
+retcode=1&retmsg=账户余额不足&timestamp=20160513155100&sign_mehtod="RSA"
+```
+
diff --git "a/source/_posts/\344\270\200\345\215\241\351\200\232v5\347\254\254\344\270\211\346\226\271\345\257\271\346\216\245\345\215\217\350\256\256\345\217\212\350\256\272\350\257\201\346\216\245\345\217\243\346\226\207\346\241\243.md" "b/source/_posts/\344\270\200\345\215\241\351\200\232v5\347\254\254\344\270\211\346\226\271\345\257\271\346\216\245\345\215\217\350\256\256\345\217\212\350\256\244\350\257\201\346\216\245\345\217\243\346\226\207\346\241\243.md"
similarity index 100%
rename from "source/_posts/\344\270\200\345\215\241\351\200\232v5\347\254\254\344\270\211\346\226\271\345\257\271\346\216\245\345\215\217\350\256\256\345\217\212\350\256\272\350\257\201\346\216\245\345\217\243\346\226\207\346\241\243.md"
rename to "source/_posts/\344\270\200\345\215\241\351\200\232v5\347\254\254\344\270\211\346\226\271\345\257\271\346\216\245\345\215\217\350\256\256\345\217\212\350\256\244\350\257\201\346\216\245\345\217\243\346\226\207\346\241\243.md"
diff --git "a/source/_posts/\344\270\200\345\215\241\351\200\232v5\347\254\254\344\270\211\346\226\271\346\225\260\346\215\256\345\257\271\346\216\245\346\216\245\345\217\243\346\226\207\346\241\243.md" "b/source/_posts/\344\270\200\345\215\241\351\200\232v5\347\254\254\344\270\211\346\226\271\346\225\260\346\215\256\345\257\271\346\216\245\346\216\245\345\217\243\346\226\207\346\241\243.md"
new file mode 100644
index 0000000..6fac146
--- /dev/null
+++ "b/source/_posts/\344\270\200\345\215\241\351\200\232v5\347\254\254\344\270\211\346\226\271\346\225\260\346\215\256\345\257\271\346\216\245\346\216\245\345\217\243\346\226\207\346\241\243.md"
@@ -0,0 +1,241 @@
+---
+title: 一卡通v5第三方数据对接接口文档
+date: 2016-06-21 13:54:26
+tags:
+
+---
+
+## 1.1文档说明 ##
+
+本文档用于描述了一卡通对第三方应用提供的通用支付api接口文档,供第三方系统(前置和应用)对接参考。
+
+## 1.2约定 ##
+
+1.	传输编码统一为utf-8
+2.	RSA 加密算法为本接口采用的非对称加密算法,`SIGN_ALGORITHMS ="SHA1WithRSA"`;
+3.	RSA公钥由本系统提供,本系统返回信息的签名数据,第三方系统得到后通过公钥校验算法,验证返回数据的合法性
+4.	HMAC加密算法为用户请求本系统采用的加密算法,`SIGN_ALGORITHMS ="HMAC-SHA1"`;
+5.	具体签名生成参考后面的签名章节
+6.	retcode等于0表示成功,非0表示失败,失败具体信息查看retmsg
+7.	密码加密的原始串为timestamp:pwd
+
+
+## 2.1 通用卡、账户信息查询-单用户接口 ##
+
+**请求URL:**
+
+- `https://ip:port/epayapi/services/thirdparty/common/single/cardcustinfo`
+
+**请求方式/格式:** 
+
+- POST
+- application/x-www-form-urlencoded
+
+**请求参数:**
+
+|参数名 | 类型 | 必选 | 说明 |
+|-----|------|-----|------|
+|partner_id|String|是      |本系统分配给各个接入应用的合作伙伴id号|
+|stuempno|String|是|	查询对象的学号|
+|timestamp|String|是|时间戳格式为yyyyMMddhh24miss|
+|sign|String|是|	签名|
+|sign_method|String|是|参数的加密方法选择,可选值是:HMAC 加密方式为HAMC-SHA1|
+
+**请求内容示例:**
+```html
+URI:https://ip:port/epayapi/services/thirdparty/common/accountquery
+
+partner_id:10000
+stuempno:09893092
+timestamp:20150119130901
+sign:5195f9b9116e4adf67eeebc9935d33dc683f677d
+sign_method:HMAC
+```
+
+**返回示例:**
+
+- 成功
+
+```json
+{
+	"retcode":"0",
+	"retmsg":"查询成功",
+	"stuempno":"09893092",
+	"username":"王二小",
+    "balance":4850,
+    "cardno":103920299,
+	"status":"正常"
+}
+
+```
+
+- 失败
+
+```json
+{
+	"retcode":"1",
+	"retmsg":"账户不存在"
+}
+
+```
+
+**返回参数说明:**
+
+|参数名 | 类型 | 说明 |
+|-----|-----|------|
+|retcode|String|返回码(0=成功,其他为失败)|
+|retmsg|String|返回消息|
+|stuempno|String|学号|
+|username|String|姓名|
+|balance|Integer|余额(分)|
+|cardno|Integer|卡号|
+|status|String|状态(正常)|
+
+
+## 2.2 通用卡、账户信息查询-批量接口 ##
+
+**请求URL:**
+
+- `https://ip:port/epayapi/services/thirdparty/common/batch/cardcustinfo`
+
+**请求方式/格式:** 
+
+- POST
+- application/x-www-form-urlencoded
+
+**请求参数:**
+
+|参数名 | 类型 | 必选 | 说明 |
+|-----|------|-----|------|
+|partner_id|String|是      |本系统分配给各个接入应用的合作伙伴id号|
+|cardupdtime|String|否|	卡最后更新时间(二选一)|
+|custupdtime|String|否|	客户最后更新时间(二选一)|
+|timestamp|String|是|时间戳格式为yyyyMMddhh24miss|
+|sign|String|是|	签名|
+|sign_method|String|是|参数的加密方法选择,可选值是:HMAC 加密方式为HAMC-SHA1|
+
+**请求内容示例:**
+```html
+URI:https://ip:port/epayapi/services/thirdparty/common/batch/cardcustinfo
+
+partner_id:10000
+cardupdtime:20150829145802
+timestamp:20150119130901
+sign:5195f9b9116e4adf67eeebc9935d33dc683f677d
+sign_method:HMAC
+```
+
+**返回示例:**
+
+- 成功
+
+```json
+{
+	"retcode":"0",
+	"retmsg":"查询成功",
+	"data":[
+				{
+				"cardno":1001
+				}
+			]
+}
+
+```
+
+- 失败
+
+```json
+{
+	"retcode":"1",
+	"retmsg":"查询失败"
+
+```
+
+**返回参数说明:**
+
+|参数名 | 类型 | 说明 |
+|-----|-----|------|
+|retcode|String|返回码(0=成功,其他为失败)|
+|retmsg|String|返回消息|
+|stuempno|String|学号|
+|username|String|姓名|
+|balance|Integer|余额(分)|
+|cardno|Integer|卡号|
+|status|String|状态(正常)|
+
+## 2.3 通用账户流水查询 ##
+
+**请求URL:**
+
+- `https://ip:port/epayapi/services/thirdparty/common/getbilldata`
+
+**请求方式/格式:** 
+
+- POST
+- application/x-www-form-urlencoded
+
+**请求参数:**
+
+|参数名 | 类型 | 必选 | 说明 |
+|-----|------|-----|------|
+|partner_id|String|是      |本系统分配给各个接入应用的合作伙伴id号|
+|stuempno|String|是|	查询对象的学号|
+|pageno|String|否|	页码,默认1,范围1-100|
+|pagesize|String|否|	每页行数,默认100,范围10-500|
+|startdate|String|是|	开始时间 格式yyyyMMdd 最多3个月前|
+|enddate|String|是|	结束日期 格式yyyyMMdd 最大跨度1个月|
+|timestamp|String|是|时间戳格式为yyyyMMddhh24miss|
+|sign|String|是|	签名|
+|sign_method|String|是|参数的加密方法选择,可选值是:HMAC 加密方式为HAMC-SHA1|
+
+**请求内容示例:**
+```html
+URI:https://ip:port/epayapi/services/thirdparty/common/batch/cardcustinfo
+
+partner_id:10000
+pageno:2
+pagesize:10
+startdate:20150829
+enddate:20150929
+timestamp:20150119130901
+sign:5195f9b9116e4adf67eeebc9935d33dc683f677d
+sign_method:HMAC
+```
+
+**返回示例:**
+
+- 成功
+
+```json
+{
+	"retcode":"0",
+	"retmsg":"查询成功",
+	"data":[
+				{
+				"cardno":1001
+				}
+			]
+}
+
+```
+
+- 失败
+
+```json
+{
+	"retcode":"1",
+	"retmsg":"查询失败"
+
+```
+
+**返回参数说明:**
+
+|参数名 | 类型 | 说明 |
+|-----|-----|------|
+|retcode|String|返回码(0=成功,其他为失败)|
+|retmsg|String|返回消息|
+|stuempno|String|学号|
+|username|String|姓名|
+|balance|Integer|余额(分)|
+|cardno|Integer|卡号|
+|status|String|状态(正常)|
\ No newline at end of file
diff --git "a/source/_posts/\344\270\200\345\215\241\351\200\232v5\347\254\254\344\270\211\346\226\271\346\266\210\350\264\271\346\216\245\345\217\243\346\226\207\346\241\243.md" "b/source/_posts/\344\270\200\345\215\241\351\200\232v5\347\254\254\344\270\211\346\226\271\346\266\210\350\264\271\346\216\245\345\217\243\346\226\207\346\241\243.md"
index 43f41cc..6c2e245 100644
--- "a/source/_posts/\344\270\200\345\215\241\351\200\232v5\347\254\254\344\270\211\346\226\271\346\266\210\350\264\271\346\216\245\345\217\243\346\226\207\346\241\243.md"
+++ "b/source/_posts/\344\270\200\345\215\241\351\200\232v5\347\254\254\344\270\211\346\226\271\346\266\210\350\264\271\346\216\245\345\217\243\346\226\207\346\241\243.md"
@@ -5,19 +5,33 @@
 
 ---
 
+## 1.1文档说明 ##
 
-## 1. 通用账户查询 ##
+本文档用于描述了一卡通对第三方应用提供的通用支付api接口文档,供第三方系统(前置和应用)对接参考。
+
+## 1.2约定 ##
+
+1.	传输编码统一为utf-8
+2.	RSA 加密算法为本接口采用的非对称加密算法,`SIGN_ALGORITHMS ="SHA1WithRSA"`;
+3.	RSA公钥由本系统提供,本系统返回信息的签名数据,第三方系统得到后通过公钥校验算法,验证返回数据的合法性
+4.	HMAC加密算法为用户请求本系统采用的加密算法,`SIGN_ALGORITHMS ="HMAC-SHA1"`;
+5.	具体签名生成参考后面的签名章节
+6.	retcode等于0表示成功,非0表示失败,失败具体信息查看retmsg
+7.	密码加密的原始串为timestamp:pwd
+
+
+## 2.1 通用账户查询 ##
 
 **请求URL:**
 
-- `https://ip:port/epayapi/services/third/common/accountquery`
+- `https://ip:port/epayapi/services/thirdparty/common/accountquery`
 
 **请求方式/格式:** 
 
 - POST
 - application/x-www-form-urlencoded
 
-**请求参数: **
+**请求参数:**
 
 |参数名 | 类型 | 必选 | 说明 |
 |-----|------|-----|------|
@@ -27,9 +41,9 @@
 |sign|String|是|	签名|
 |sign_method|String|是|参数的加密方法选择,可选值是:HMAC 加密方式为HAMC-SHA1|
 
-**请求内容示例: **
+**请求内容示例:**
 ```html
-URI:https://ip:port/epayapi/services/third/common/accountquery
+URI:https://ip:port/epayapi/services/thirdparty/common/accountquery
 
 partner_id:10000
 stuempno:09893092
@@ -84,18 +98,18 @@
 |status|String|状态(正常)|
 
 
-## 2. 通用支付 ##
+## 2.2 通用支付 ##
 
 **请求URL:**
 
-- `https://ip:port/epayapi/services/third/common/pay`
+- `https://ip:port/epayapi/services/thirdparty/common/pay`
 
 **请求方式/格式:** 
 
 - POST
 - application/x-www-form-urlencoded
 
-**请求参数: **
+**请求参数:**
 
 |参数名 | 类型 | 必选 | 说明 |
 |-----|------|-----|------|
@@ -108,9 +122,9 @@
 |sign|String|是|	签名|
 |sign_method|String|是|参数的加密方法选择,可选值是:HMAC 加密方式为HAMC-SHA1|
 
-**请求内容示例: **
+**请求内容示例:**
 ```html
-URI:https://ip:port/epayapi/services/third/common/pay
+URI:https://ip:port/epayapi/services/thirdparty/common/pay
 
 partner_id:10000
 stuempno:09893092
@@ -164,3 +178,80 @@
 |tradeno|String|第三方流水号|
 |refno|String|本系统生成流水号|
 |balance|Integer|余额(分)|
+
+
+## 附录A-用户请求HMAC签名算法 ##
+
+
+- 签名方式:`hmac-sha1`
+
+- 签名密钥由本系统统一线下提供
+
+
+- **签名校验的通用步骤如下:**
+
+	**第一步,**设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
+
+	**特别注意以下重要规则:**
+	
+
+- 参数名ASCII码从小到大排序(字典序);
+	
+
+- 如果参数的值为空不参与签名;
+	
+
+- 参数名区分大小写;
+	
+
+- 传送的sign参数不参与签名,用该sign值作校验。
+
+	**第二步,**用密钥secretkey对stringA字符串,进行hmac-sha1签名,得到sign值signValue。signValue最后采用十六进制小写hex编码生成签名字符串。
+
+
+## 附录B-服务端返回数据RSA签名校验算法 ##
+
+- 签名方式:`SHA1withRSA`
+- 签名校验的公钥key为本系统统一线下提供。
+
+- **签名校验的通用步骤如下:**
+
+**第一步,**设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
+
+**特别注意以下重要规则:**
+	
+
+- 参数名ASCII码从小到大排序(字典序);
+	
+
+- 如果参数的值为空不参与签名;
+	
+
+- 参数名区分大小写;
+	
+
+- 传送的sign参数不参与签名,用该sign值作校验。
+
+
+**第二步,**对sign值进行base64解码,用本系统提供的公钥key对sign签名值解码后的数据基于stringA字符串,进行SHA1withRSA签名验证
+
+> 举例:
+
+
+假设传送的参数如下:
+```
+retcode:1
+retmsg:账户余额不足
+timestamp:20160513155100
+sign_mehtod:RSA
+```
+
+对参数按照key=value的格式,并按照参数名ASCII字典序排序如下:
+```
+retcode=1&retmsg=账户余额不足&timestamp=20160513155100&sign_mehtod="RSA"
+```
+
+
+
+
+
diff --git "a/source/_posts/\344\270\200\345\215\241\351\200\232v5\347\254\254\344\270\211\346\226\271\350\272\253\344\273\275\350\256\244\350\257\201\346\216\245\345\217\243\346\226\207\346\241\243.md" "b/source/_posts/\344\270\200\345\215\241\351\200\232v5\347\254\254\344\270\211\346\226\271\350\272\253\344\273\275\350\256\244\350\257\201\346\216\245\345\217\243\346\226\207\346\241\243.md"
deleted file mode 100644
index ec491e2..0000000
--- "a/source/_posts/\344\270\200\345\215\241\351\200\232v5\347\254\254\344\270\211\346\226\271\350\272\253\344\273\275\350\256\244\350\257\201\346\216\245\345\217\243\346\226\207\346\241\243.md"
+++ /dev/null
@@ -1,47 +0,0 @@
----
-title: 一卡通v5第三方身份认证接口文档
-date: 2016-06-21 13:54:26
-tags:
-
----
-
-## 1.1 用户信息 ##
-
-### 请求URL: ###
-
-- `http://xx.com/api/user/register`
-
-### 请求方式: ### 
-
-- POST
-
-### 请求参数: ###
-
-|参数名 | 必选 | 类型 | 说明 |
-|-----|------|-----|------|
-|id| 是 |String|系统参数id| 
-|name|是|String|用户名| 
-|name|是|String|用户名| 
-
-
-### 返回示例 ###
-
-	 {
-	    "error_code": 0,
-	    "data": {
-	      "uid": "1",
-	      "username": "12154545",
-	      "name": "吴系挂",
-	      "groupid": 2 ,
-	      "reg_time": "1436864169",
-	      "last_login_time": "0",
-	    }
-  	}
-
-### 返回参数说明 ###
-
-|参数名 | 类型 | 说明 |
-|-----|-----|------|
-|id|String|系统参数id| 
-|name|String|用户名| 
-|name|String|用户名| 
\ No newline at end of file