Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
sbkclient
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
李定达
sbkclient
Commits
eeb33faa
Commit
eeb33faa
authored
Jun 05, 2017
by
LIDINGDA\ldd
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.3DES加密;2.RSA签名测试通过;签名时只取一级字段中的string和number
parent
a5227c7f
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
34 additions
and
18 deletions
+34
-18
ZH_Client.suo
+0
-0
ZH_Client/dataprocess.h
+4
-0
ZH_Client/fmerror.h
+15
-7
ZH_Client/fmglobal.h
+4
-2
ZH_Client/sbk_client.cpp
+0
-0
ZH_Client/tastdataprocess.cpp
+11
-9
No files found.
ZH_Client.suo
View file @
eeb33faa
No preview for this file type
ZH_Client/dataprocess.h
View file @
eeb33faa
...
...
@@ -10,6 +10,7 @@
#include <openssl/pem.h>
#include <openssl/err.h>
#include <openssl/des.h>
#include "fmlog.h"
#include <jansson.h>
#include <jansson_private.h>
...
...
@@ -465,6 +466,9 @@ public:
else
if
(
json_is_array
(
value
))
{
continue
;
}
else
{
continue
;
}
outmsg
.
append
(
tmp
);
outmsg
.
append
(
"|"
);
...
...
ZH_Client/fmerror.h
View file @
eeb33faa
...
...
@@ -2,18 +2,25 @@
#define FM_ERROR_H
//#define ERROR_CLIENT_CFG "{\"statusCode\": 301, \"message\": \"DLL配置文件错误或不存在\"}"
#define ERROR_CLIENT_CFG "{\"statusCode\": 301, \"message\": \"DLL\u914D\u7F6E\u6587\u4EF6\u9519\u8BEF\u6216\u4E0D\u5B58\u5728\"}"
//#define ERROR_CLIENT_CFG "{\"statusCode\": 301, \"message\": \"DLL\u914D\u7F6E\u6587\u4EF6\u9519\u8BEF\u6216\u4E0D\u5B58\u5728\"}"
#define ERROR_CLIENT_CFG "{\"statusCode\": 301, \"message\": \"DLL\351\205\215\347\275\256\346\226\207\344\273\266\351\224\231\350\257\257\346\210\226\344\270\215\345\255\230\345\234\250\"}"
//#define ERROR_INDATA "{\"statusCode\": 302, \"message\": \"输入参数非json或为空\"}"
#define ERROR_INDATA "{\"statusCode\": 302, \"message\": \"\u8F93\u5165\u53C2\u6570\u975Ejson\u6216\u4E3A\u7A7A\"}"
//#define ERROR_INDATA "{\"statusCode\": 302, \"message\": \"\u8F93\u5165\u53C2\u6570\u975Ejson\u6216\u4E3A\u7A7A\"}"
#define ERROR_INDATA "{\"statusCode\": 302, \"message\": \"\350\276\223\345\205\245\345\217\202\346\225\260\351\235\236json\346\210\226\344\270\272\347\251\272\"}"
//#define ERROR_OUTDATA "{\"statusCode\": 303, \"message\": \"服务端返回数据异常\"}"
#define ERROR_OUTDATA "{\"statusCode\": 303, \"message\": \"\u670D\u52A1\u7AEF\u8FD4\u56DE\u6570\u636E\u5F02\u5E38\"}"
//#define ERROR_OUTDATA "{\"statusCode\": 303, \"message\": \"\u670D\u52A1\u7AEF\u8FD4\u56DE\u6570\u636E\u5F02\u5E38\"}"
#define ERROR_OUTDATA "{\"statusCode\": 303, \"message\": \"\346\234\215\345\212\241\347\253\257\350\277\224\345\233\236\346\225\260\346\215\256\345\274\202\345\270\270\"}"
//#define ERROR_ROLLBACK "{\"statusCode\": 304, \"message\": \"网络异常冲正中无法进行交易\"}"
#define ERROR_ROLLBACK "{\"statusCode\": 304, \"message\": \"\u7F51\u7EDC\u5F02\u5E38\u51B2\u6B63\u4E2D\u65E0\u6CD5\u8FDB\u884C\u4EA4\u6613\"}"
//#define ERROR_ROLLBACK "{\"statusCode\": 304, \"message\": \"\u7F51\u7EDC\u5F02\u5E38\u51B2\u6B63\u4E2D\u65E0\u6CD5\u8FDB\u884C\u4EA4\u6613\"}"
#define ERROR_ROLLBACK "{\"statusCode\": 304, \"message\": \"\347\275\221\347\273\234\345\274\202\345\270\270\345\206\262\346\255\243\344\270\255\346\227\240\346\263\225\350\277\233\350\241\214\344\272\244\346\230\223\"}"
//#define ERROR_SIGN "{\"statusCode\": 305, \"message\": \"签名异常请联系IT\"}"
#define ERROR_SIGN "{\"statusCode\": 305, \"message\": \"\u7B7E\u540D\u5F02\u5E38\u8BF7\u8054\u7CFBIT\"}"
//#define ERROR_SIGN "{\"statusCode\": 305, \"message\": \"\u7B7E\u540D\u5F02\u5E38\u8BF7\u8054\u7CFBIT\"}"
#define ERROR_SIGN "{\"statusCode\": 305, \"message\": \"\347\255\276\345\220\215\345\274\202\345\270\270\350\257\267\350\201\224\347\263\273\"}"
//#define ERROR_NETWORK "{\"statusCode\": 306, \"message\": \"网络异常连接支付网关失败\"}"
#define ERROR_NETWORK "{\"statusCode\": 306, \"message\": \"\u7F51\u7EDC\u5F02\u5E38\u8FDE\u63A5\u652F\u4ED8\u7F51\u5173\u5931\u8D25\"}"
//#define ERROR_NETWORK "{\"statusCode\": 306, \"message\": \"\u7F51\u7EDC\u5F02\u5E38\u8FDE\u63A5\u652F\u4ED8\u7F51\u5173\u5931\u8D25\"}"
#define ERROR_NETWORK "{\"statusCode\": 306, \"message\": \"\347\275\221\347\273\234\345\274\202\345\270\270\350\277\236\346\216\245\346\224\257\344\273\230\347\275\221\345\205\263\345\244\261\350\264\245\"}"
//#define ERROR_CRET "{\"statusCode\": 307, \"message\": \"证书加载失败无法进行交易\"}"
#define ERROR_CRET "{\"statusCode\": 307, \"message\": \"\u8BC1\u4E66\u52A0\u8F7D\u5931\u8D25\u65E0\u6CD5\u8FDB\u884C\u4EA4\u6613\"}"
//#define ERROR_CRET "{\"statusCode\": 307, \"message\": \"\u8BC1\u4E66\u52A0\u8F7D\u5931\u8D25\u65E0\u6CD5\u8FDB\u884C\u4EA4\u6613\"}"
#define ERROR_CRET "{\"statusCode\": 307, \"message\": \"\350\257\201\344\271\246\345\212\240\350\275\275\345\244\261\350\264\245\346\227\240\346\263\225\350\277\233\350\241\214\344\272\244\346\230\223\"}"
#endif
\ No newline at end of file
ZH_Client/fmglobal.h
View file @
eeb33faa
...
...
@@ -9,8 +9,9 @@
#define MAX_SIGN_LEN 256
#define CFG_FILE_NAME "fmclient.cfg"
#define RBG_FILE_NAME "fmclient.rbk"
#define REQUEST_CRET "{\r\n \"ver\": 1,\r\n \"reqType\": 99,\r\n \"partnerId\":
1443,\r\n \"storeId\":\"%s\",\r\n \"stationId\": \"%s\",\r\n \"serverPublicKey\": \"%s\",\r\n \"clientPrivateKey
\": \"%s\"\r\n}"
#define DES3_KEY "
123456789987654321123456
"
#define REQUEST_CRET "{\r\n \"ver\": 1,\r\n \"reqType\": 99,\r\n \"partnerId\":
%d,\r\n \"storeId\":\"%s\",\r\n \"stationId
\": \"%s\"\r\n}"
#define DES3_KEY "
ABCD@#9876DFSAAWKLDEOPDD
"
#define CRET_FILE_NAME "client.p12"
#define JSON_KEY_ONLY "partnerOrderId"
#endif
\ No newline at end of file
ZH_Client/sbk_client.cpp
View file @
eeb33faa
This diff is collapsed.
Click to expand it.
ZH_Client/tastdataprocess.cpp
View file @
eeb33faa
...
...
@@ -4,15 +4,15 @@
using
namespace
std
;
char
text
[]
=
"
1443|72|1|12344
|1"
;
char
texts
[]
=
"
1443|72|1|12344
|1"
;
char
text
[]
=
"
207
|1"
;
char
texts
[]
=
"
207
|1"
;
unsigned
char
deskey
[]
=
"123456789012345678901235"
;
char
sign
[
256
]
=
{
0
};
char
out
[
1024
]
=
{
0
};
char
private_key
[]
=
"MIIC
XQIBAAKBgQDK1JuEwMaEetLryK/PxhEd9QdMWllr/MAVNhV4CMboIjQzYg40ZdIU8qp0kaS/Oe06Th8YWi+wPW+vOSSd3J7kq2r23MMULStSyrK/GAyi7tvvpkNmoP2+s9NPoUjzNGqZTVQ3AqktkgTUiQgO5elqnkfXpz7J6OHm1/m0VjOvpwIDAQABAoGAAdQ+/sh6QdGVu1iY9Ue0+c8u3Kpn6ghidw6AzQ9PM+KzE8+Ljz9n0JaLoPd7Q9oy4Ha54w9VJMK5EhxyzxWhPSyNr/pvxXwMZL22NfdS/Xlj5L1zzR3JGybc7qxMk4rBX+/aT5YbNG5m4yN3pZldMjJPFzVtv6q4PYnq/DBNjgECQQDsq5NoLXbVBo+Ba4nVrV1yPKNqrLwWkpGONrmkXh3KljNOIBoODKoRt0IfA/fym0t4qDu3e0qNBj44MlxpxmqnAkEA22V+QgM9QonIAWTNgFVlYE6sPtHDaPf7WLBHfCjYTUbjFTAGQBKI3phGdPAipB/2pNlty9RZeHyvDZNRTSIzAQJAY56tA5LvjCegzDc544l/5hAEMWjYGyBCyHvclIVRQO8MVXxJu1Q1WhOrb2a6PZKEqBsYV9k7vjS8h+ca4yMzzQJBAI5u9qf+mF/BOWKGQc/mINmEWdiyr81O6ROr5czaa4rH0ZcoxXYFUmxIqb0zRRoOUj61lc11f9xz/eWvVWHhKQECQQCyEFGJtqqtZZyVNmpWYtCJqVlGD7I2dD5oCmQehYLs3XtwbMsqlxPkSbN9zyYGjiPtg0xevqazN32+hXAO3mmG
"
;
char
public_key
[]
=
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQ
DK1JuEwMaEetLryK/PxhEd9QdMWllr/MAVNhV4CMboIjQzYg40ZdIU8qp0kaS/Oe06Th8YWi+wPW+vOSSd3J7kq2r23MMULStSyrK/GAyi7tvvpkNmoP2+s9NPoUjzNGqZTVQ3AqktkgTUiQgO5elqnkfXpz7J6OHm1/m0VjOvp
wIDAQAB"
;
char
private_key
[]
=
"MIIC
dgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALNT2Oh4Yw2ijcEt+rqKAfnsRUqXlqOOFWcBLZw9SZHXbIOjOBgWXmEh2fa5fbP/yJwHfBXPVK4k0lFrXQuEFlcxI2YdAatLsT2BWOGAhJ15KRvN9uJseNXDRqFBjMJQGr4hbmtohowBdzgLU8ztUeO++4SAcqsnCapEsNi/jwbjAgMBAAECgYBV+J2lnYmHUOX6tgtdAKq/4Wi6wP/D+2sBTcxK+graM1ffqBFNYvPuRydSpEzCTZ8kRmZTomkrb5Ww2PLrgXCfn8CEuu+Gs0qOmIKSJrQqxCjAV5LceqlSNRMbUOlfF0iXtaNS1SFYgTROP+TEOpo6uQCr0wosraJ7XSbkN01Z4QJBAO+uVE6PUlFX3wKHcJv8+gVd3MtB2b74isxAGJt26X811mMr9k2d3p9z/KteZnk6ih0nqrTsNUjcrVeZGxt7WlECQQC/iYyuh3QlBqC0eI7TcvzfjeeGBpo6a9vfbTHQ6dcEotmYtJsvU3/ryaFm08GiT4s131D6LBPh4bm7rGWZ1IzzAkBuvkTT+6LUVN6E46GjYXMAUcs32xhKBbrT/vWft4TRs0V4kxJ98Gixkjz3zWlZsDOqnu5gJBfGr7gkFmkQ/KDRAkBPABXVeqsOBoDMTxlh34CrWGVRI3IDfK9QpUIxz/FOyTiEwqFrUL5na1+2AMtR/gsGKljFBt8ggLDR1paFb2S/AkEAoO0Zg2qya2j+ho9/aY6eHCFBE3XNukUZZRO4P7wSEPRECqQ1DhT1r8QsXo6nuXlOf6JHO6gXV2j5XDg4UhcpRA==
"
;
char
public_key
[]
=
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQ
CzU9joeGMNoo3BLfq6igH57EVKl5ajjhVnAS2cPUmR12yDozgYFl5hIdn2uX2z/8icB3wVz1SuJNJRa10LhBZXMSNmHQGrS7E9gVjhgISdeSkbzfbibHjVw0ahQYzCUBq+IW5raIaMAXc4C1PM7VHjvvuEgHKrJwmqRLDYv48G4
wIDAQAB"
;
RSA
*
createRSA
(
unsigned
char
*
key
,
int
publictype
)
{
...
...
@@ -74,13 +74,15 @@ void Test_3DES()
{
char
tmpout
[
1024
]
=
{
0
};
char
outs
[
MAX_BUF_LEN
]
=
{
0
};
char
tmps
[]
=
"gEYXfUox9kFVFu6I3os8LMULhYn85Ou8R4ye05OZmNb2yb71t18S7BILEi1DZQLPzV6F7UQVsWu+FCvkEssVBS8ZElcrKoaq91aovWZOb17itgpCbvsoE0tvfH2OPC+uNDEjW6iX5WoEFQ3aNJ3OOLyapa0tGrir7Gn/BlAoBkeP5OPP/9Yet4uXbJvwZTTpnkS7YLDqbqCvaaobm6u/LagIOsUGud6V4wDG/OwywymyZl0QXY2bUIQF4OHkIvbgr/LYkYS4zU5X5W5WFlH8xwmjhlMTpvlz8L29tPpJi/BkZ5IPriU9js1o+g73zboYkdTJDKZgewSewDFsH++L2GVaoawECajkwCkI1+Hrob/gKJ3FSJgHBvCHpR6+QUhLe2LMV4VsaikxgrRXZnaFXi52xiFHj2bfys2C2y0ybZZiEqJO3aKn8PSXFZCx+PMw3aGBfqJDWGG4RJysfNg7XAwEaKh8UzIQfJxL8ISKePvYvB8QdMJPUzcEqDEn0m6NVS85x3Wi9Go3ttUvhNHXkOISGv2DlWxzfi7dezzA/EP68nOg7RbmtcWWy/KYl/3DPDdmjTWGz80/R6kzlBh1l0KEr8IuCEamt9TSYv3NkDbSYYTbNvKyH7ubElctD9MoKOCavJ2xGW+Evc2BQ0ld1FgqvFzmN9lHxuCOW5bCylU+Hc51Tcvwve5kFZfIU28o0zhACsQlkSXzWf1Px5ThXxCBz0ZDlC7Y2EAPkzfFzFo8c98/w26dvqoLFi0u2VhGFm/iWfe8i+7xXMPJeaZD/2MRY2PXcG4Ym4f8KRQ3uQKdc+cunaLloiUDDrX5aGqJXp7CjlmtuDu8ZSPjQhaBc27KdseUkZ8cPb/LGNoAtEyvkMzoj5/Z65gw+wpivMoFJ+2xot/zg26kvEfwtq99szaZhDIt9EVXzoZ86j2UiKio+zI6A6Ft8++K39XrljZX3+6jIDGfwymcO+v40Vk/icWKueXrmcdb1b/+tcXCVXV1a1Qxt3SRPF8CcjKRSJHI0KsrGQXDdPUjT8I0G3z3yVvRUGBRBtIaJlvLofX/NTGNw7DImwfzdyaKpYx21sxbE/sxESSiQxUn84Pn/Qn1h/mM4K3QNb/sVoCkQhxHs4bRGAQ6HUAR1w6WjtY1N6W1Lsra4RZ0NGyx7Hu/YulIvbYoSEFvH+mlShZ0YFCkx+A9+TpZq+qjXnI/2uzkLwY+iwFmWECn2v2Ev4ITwUZaSnymHgQ4rB+xVfRCKDOiZeknP1yx25TFLnTyxSa/hhaD7NF60xnRkJVBo22dEED1wPvhTiVo3oGYnYSUftTTb6Si4wh35oGlW6DGJUMRAAmmorHgotgodTc9DSF4BAR6Ibqo+QZnnOBnGUUv/f0vm2kUj3gphNr6mlfYz38u2zCH6wMjqJWb/Qb0WT1hS7vFea2yHgiCHlFuBLQtZdnQMomFzqweZnZE65gamJ4hZwBrrTgo+vEC6TIWuA6d4Ev7IUDKNsv5VTAcpO14RVDiMmG3FwUYGKOoVtA0aEdgOOM6"
;
if
(
DataProcess
::
DES3Encode
(
deskey
,
text
,
strlen
(
text
),
(
unsigned
char
*
)
out
,
1024
)
!=
0
)
printf
(
"edcode base64:%s
\r\n
"
,
out
);
else
printf
(
"encode failed"
);
//
if(DataProcess::DES3Encode(deskey, text, strlen(text), (unsigned char *)out, 1024) != 0)
//
printf("edcode base64:%s\r\n", out);
//
else
//
printf("encode failed");
if
(
DataProcess
::
DES3Decode
(
deskey
,
out
,
strlen
(
out
),
(
unsigned
char
*
)
tmpout
,
1024
)
!=
0
)
if
(
DataProcess
::
DES3Decode
(
(
const
unsigned
char
*
)
DES3_KEY
,
tmps
,
strlen
(
tmps
),
(
unsigned
char
*
)
outs
,
MAX_BUF_LEN
)
!=
0
)
printf
(
"edcode base64:%s
\r\n
"
,
tmpout
);
else
printf
(
"encode failed"
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment