Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
sbkpay
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
zhenfei.zhang
sbkpay
Commits
34af0b6b
Commit
34af0b6b
authored
Oct 10, 2017
by
NitefullWind
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1. 整合onedatabase分支 [
2c878b37
] 代码。
parent
cad561ff
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
203 additions
and
23 deletions
+203
-23
sbkpay/DataProcess/cretopt.h
+63
-16
sbkpay/DataProcess/dataprocess.h
+117
-0
sbkpay/DataProcess/fmglobal.h
+5
-0
sbkpay/DataProcess/rollback.cpp
+3
-1
sbkpay/control.cpp
+12
-4
sbkpay/global.h
+1
-1
tests/TestSimphony/tst_testsimphony.cpp
+2
-1
No files found.
sbkpay/DataProcess/cretopt.h
View file @
34af0b6b
#ifndef CRETOPT
#
ifndef
CRETOPT
#define CRETOPT
#define CRETOPT
#include "dataprocess.h"
#include "dataprocess.h"
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
class
CretOperate
class
CretOperate
{
{
public
:
public
:
static
bool
GetDES3MAC
(
QJsonObject
&
json
,
QString
&
mac
=
QString
())
static
bool
GetDES3MAC
(
QJsonObject
&
json
,
QString
iv
,
QString
&
mac
=
QString
())
{
{
std
::
string
tmpmac
;
std
::
string
tmpmac
;
...
@@ -23,11 +23,24 @@ public:
...
@@ -23,11 +23,24 @@ public:
return
false
;
return
false
;
}
}
QLOG_INFO
()
<<
tmpmac
.
data
();
char
tmpiv
[
16
]
=
{
0
};
memcpy
(
tmpiv
,
iv
.
toUtf8
().
data
(),
iv
.
toUtf8
().
size
()
>
16
?
16
:
iv
.
toUtf8
().
size
());
char
outmsg
[
4096
]
=
{
0
};
char
outmsg
[
4096
]
=
{
0
};
if
(
DataProcess
::
DES3Encode
((
const
unsigned
char
*
)
DES3_KEY
,
tmpmac
.
data
(),
strlen
(
tmpmac
.
data
()),
(
unsigned
char
*
)
outmsg
,
4096
)
==
0
)
// if(DataProcess::DES3Encode((const unsigned char *)DES3_KEY, tmpmac.data(), strlen(tmpmac.data()), (unsigned char *)outmsg, 4096) == 0)
// {
// QLOG_ERROR() << "DES3 MAC failed";
// return false;
// }
if
(
DataProcess
::
AESEncode
((
const
unsigned
char
*
)
AES_KEY
,
(
unsigned
char
*
)
tmpiv
,
(
const
unsigned
char
*
)
tmpmac
.
data
(),
strlen
(
tmpmac
.
data
()),
(
unsigned
char
*
)
outmsg
,
4096
)
==
0
)
{
{
QLOG_ERROR
()
<<
"
DES3
MAC failed"
;
QLOG_ERROR
()
<<
"
AES
MAC failed"
;
return
false
;
return
false
;
}
}
...
@@ -64,11 +77,11 @@ public:
...
@@ -64,11 +77,11 @@ public:
return
true
;
return
true
;
}
}
static
bool
GetSign
(
QJsonObject
&
json
,
QString
&
sign
=
QString
())
static
bool
GetSign
(
QJsonObject
&
json
,
QString
iv
,
QString
&
sign
=
QString
())
{
{
QString
serpbk
,
clipbk
;
QString
serpbk
,
clipbk
;
if
(
!
GetCret
(
serpbk
,
clipbk
))
if
(
!
GetCret
(
iv
,
serpbk
,
clipbk
))
return
false
;
return
false
;
QStringList
list
;
QStringList
list
;
...
@@ -96,7 +109,7 @@ public:
...
@@ -96,7 +109,7 @@ public:
return
true
;
return
true
;
}
}
static
bool
SetRSACret
(
QByteArray
&
des3text
)
static
bool
SetRSACret
(
QByteArray
&
des3text
,
QString
iv
)
{
{
QByteArray
array
=
des3text
;
QByteArray
array
=
des3text
;
...
@@ -104,9 +117,21 @@ public:
...
@@ -104,9 +117,21 @@ public:
char
*
buf
=
(
char
*
)
calloc
(
array
.
size
()
+
100
,
sizeof
(
char
));
char
*
buf
=
(
char
*
)
calloc
(
array
.
size
()
+
100
,
sizeof
(
char
));
strcpy
(
buf
,
array
.
data
());
strcpy
(
buf
,
array
.
data
());
if
(
DataProcess
::
DES3Decode
((
const
unsigned
char
*
)
DES3_KEY
,
buf
,
strlen
(
buf
),
(
unsigned
char
*
)
rps
,
MAX_BUF_LEN
)
==
0
)
// if(DataProcess::DES3Decode((const unsigned char *)DES3_KEY, buf, strlen(buf), (unsigned char *)rps, MAX_BUF_LEN) == 0)
// {
// QLOG_ERROR() << "DES3Decode des3text Failed";
// return false;
// }
char
tmpiv
[
16
]
=
{
0
};
char
tmpiv1
[
16
]
=
{
0
};
memcpy
(
tmpiv
,
iv
.
toUtf8
().
data
(),
iv
.
toUtf8
().
size
()
>
16
?
16
:
iv
.
toUtf8
().
size
());
memcpy
(
tmpiv1
,
iv
.
toUtf8
().
data
(),
iv
.
toUtf8
().
size
()
>
16
?
16
:
iv
.
toUtf8
().
size
());
if
(
DataProcess
::
AESDecode
((
const
unsigned
char
*
)
AES_KEY
,
(
unsigned
char
*
)
tmpiv
,
(
const
unsigned
char
*
)
buf
,
strlen
(
buf
),
(
unsigned
char
*
)
rps
,
MAX_BUF_LEN
)
==
0
)
{
{
QLOG_ERROR
()
<<
"
DES3Decode des3
text Failed"
;
QLOG_ERROR
()
<<
"
AESDecode AES
text Failed"
;
return
false
;
return
false
;
}
}
...
@@ -114,7 +139,7 @@ public:
...
@@ -114,7 +139,7 @@ public:
if
(
jsonDocument
.
isNull
()
)
if
(
jsonDocument
.
isNull
()
)
{
{
QLOG_ERROR
()
<<
"
DES3
Decode not json:"
<<
rps
;
QLOG_ERROR
()
<<
"
AES
Decode not json:"
<<
rps
;
return
false
;
return
false
;
}
}
...
@@ -133,9 +158,15 @@ public:
...
@@ -133,9 +158,15 @@ public:
char
prtrps
[
MAX_BUF_LEN
]
=
{
0
};
char
prtrps
[
MAX_BUF_LEN
]
=
{
0
};
if
(
DataProcess
::
DES3Encode
((
const
unsigned
char
*
)
DES3_KEY_PRT
,
data
.
data
(),
strlen
(
data
.
data
()),
(
unsigned
char
*
)
prtrps
,
MAX_BUF_LEN
)
==
0
)
// if(DataProcess::DES3Encode((const unsigned char *)DES3_KEY_PRT, data.data(), strlen(data.data()), (unsigned char *)prtrps, MAX_BUF_LEN) == 0)
// {
// QLOG_ERROR() << "3des private client.p12 file:" << json;
// return false;
// }
if
(
DataProcess
::
AESEncode
((
const
unsigned
char
*
)
AES_KEY_PRT
,
(
unsigned
char
*
)
tmpiv1
,
(
const
unsigned
char
*
)
data
.
data
(),
strlen
(
data
.
data
()),
(
unsigned
char
*
)
prtrps
,
MAX_BUF_LEN
)
==
0
)
{
{
QLOG_ERROR
()
<<
"
3des private client.p12 file
:"
<<
json
;
QLOG_ERROR
()
<<
"
AES private client.p12 filed
:"
<<
json
;
return
false
;
return
false
;
}
}
...
@@ -165,8 +196,14 @@ public:
...
@@ -165,8 +196,14 @@ public:
}
}
private
:
private
:
static
bool
GetCret
(
QString
&
serpublickey
,
QString
&
cleprivatekey
)
static
bool
GetCret
(
QString
iv
,
QString
&
serpublickey
,
QString
&
cleprivatekey
)
{
if
(
iv
.
isEmpty
())
{
{
QLOG_ERROR
()
<<
"AES cbc iv is empty"
;
return
false
;
}
char
path
[
MAX_PATH
]
=
{
0
};
char
path
[
MAX_PATH
]
=
{
0
};
ToolS
::
GetProcPath
(
path
);
ToolS
::
GetProcPath
(
path
);
...
@@ -191,9 +228,19 @@ private:
...
@@ -191,9 +228,19 @@ private:
strcpy
(
buf
,
array
.
data
());
strcpy
(
buf
,
array
.
data
());
if
(
DataProcess
::
DES3Decode
((
const
unsigned
char
*
)
DES3_KEY_PRT
,
buf
,
strlen
(
buf
),
(
unsigned
char
*
)
rps
,
MAX_BUF_LEN
)
==
0
)
// if(DataProcess::DES3Decode((const unsigned char *)DES3_KEY_PRT, buf, strlen(buf), (unsigned char *)rps, MAX_BUF_LEN) == 0)
// {
// QLOG_ERROR() << "DES3Decode Client.p12 Failed";
// return false;
// }
char
tmpiv
[
16
]
=
{
0
};
memcpy
(
tmpiv
,
iv
.
toUtf8
().
data
(),
iv
.
toUtf8
().
size
()
>
16
?
16
:
iv
.
toUtf8
().
size
());
if
(
DataProcess
::
AESDecode
((
const
unsigned
char
*
)
AES_KEY_PRT
,
(
unsigned
char
*
)
tmpiv
,
(
const
unsigned
char
*
)
buf
,
strlen
(
buf
),
(
unsigned
char
*
)
rps
,
MAX_BUF_LEN
)
==
0
)
{
{
QLOG_ERROR
()
<<
"
DES3Decode Client.p12
Failed"
;
QLOG_ERROR
()
<<
"
AESDecode AEStext
Failed"
;
return
false
;
return
false
;
}
}
...
@@ -201,7 +248,7 @@ private:
...
@@ -201,7 +248,7 @@ private:
if
(
jsonDocument
.
isNull
()
)
if
(
jsonDocument
.
isNull
()
)
{
{
QLOG_ERROR
()
<<
"
DES3
Decode not json:"
<<
rps
;
QLOG_ERROR
()
<<
"
AES
Decode not json:"
<<
rps
;
return
false
;
return
false
;
}
}
...
...
sbkpay/DataProcess/dataprocess.h
View file @
34af0b6b
...
@@ -189,6 +189,123 @@ public:
...
@@ -189,6 +189,123 @@ public:
return
1
;
return
1
;
}
}
static
int
AESDecode
(
const
unsigned
char
*
key
,
unsigned
char
*
iv
,
const
unsigned
char
*
in
,
int
inlen
,
unsigned
char
*
out
,
int
outmaxlen
)
{
int
iOutLen
=
0
;
int
iTmpLen
=
0
;
int
length
=
0
;
char
tmpiv
[
16
]
=
{
0
};
memcpy
(
tmpiv
,
iv
,
16
);
unsigned
char
*
tmp
=
(
unsigned
char
*
)
malloc
(
outmaxlen
*
sizeof
(
unsigned
char
));
memset
(
tmp
,
0
,
outmaxlen
);
char
sha1
[
32
]
=
{
'\0'
};
SHA256
((
const
unsigned
char
*
)
key
,
strlen
((
const
char
*
)
key
),
(
unsigned
char
*
)
sha1
);
qDebug
()
<<
sha1
;
if
((
length
=
debase64
((
const
char
*
)
in
,
inlen
,
(
char
*
)
tmp
,
outmaxlen
))
==
0
)
{
perror
(
"debase64 failed"
);
return
0
;
}
EVP_CIPHER_CTX
ctx
;
EVP_CIPHER_CTX_init
(
&
ctx
);
EVP_DecryptInit_ex
(
&
ctx
,
EVP_aes_256_cbc
(),
NULL
,(
const
unsigned
char
*
)
sha1
,
(
const
unsigned
char
*
)
tmpiv
);
if
(
!
EVP_DecryptUpdate
(
&
ctx
,
(
unsigned
char
*
)
out
,
&
iOutLen
,
(
const
unsigned
char
*
)
tmp
,
length
))
{
EVP_CIPHER_CTX_cleanup
(
&
ctx
);
return
0
;
}
if
(
!
EVP_DecryptFinal_ex
(
&
ctx
,
(
unsigned
char
*
)(
out
+
iOutLen
),
&
iTmpLen
))
{
EVP_CIPHER_CTX_cleanup
(
&
ctx
);
return
0
;
}
iOutLen
+=
iTmpLen
;
EVP_CIPHER_CTX_cleanup
(
&
ctx
);
out
[
iOutLen
]
=
0
;
return
iOutLen
;
}
static
int
AESEncode
(
const
unsigned
char
*
key
,
unsigned
char
*
iv
,
const
unsigned
char
*
in
,
int
inlen
,
unsigned
char
*
out
,
int
outmaxlen
)
{
int
iOutLen
=
0
;
int
iTmpLen
=
0
;
int
len
;
char
tmpiv
[
16
]
=
{
0
};
memcpy
(
tmpiv
,
iv
,
16
);
unsigned
char
*
tmp
=
(
unsigned
char
*
)
malloc
(
outmaxlen
*
sizeof
(
unsigned
char
));
memset
(
tmp
,
0
,
outmaxlen
);
EVP_CIPHER_CTX
ctx
;
char
sha1
[
32
]
=
{
'\0'
};
SHA256
((
const
unsigned
char
*
)
key
,
strlen
((
const
char
*
)
key
),
(
unsigned
char
*
)
sha1
);
qDebug
()
<<
sha1
;
EVP_CIPHER_CTX_init
(
&
ctx
);
EVP_EncryptInit_ex
(
&
ctx
,
EVP_aes_256_cbc
(),
NULL
,
(
const
unsigned
char
*
)
sha1
,
(
const
unsigned
char
*
)
tmpiv
);
if
(
!
EVP_EncryptUpdate
(
&
ctx
,
(
unsigned
char
*
)
tmp
,
&
iOutLen
,
(
const
unsigned
char
*
)
in
,
inlen
))
{
EVP_CIPHER_CTX_cleanup
(
&
ctx
);
return
0
;
}
if
(
!
EVP_EncryptFinal_ex
(
&
ctx
,
(
unsigned
char
*
)(
tmp
+
iOutLen
),
&
iTmpLen
))
{
EVP_CIPHER_CTX_cleanup
(
&
ctx
);
return
0
;
}
iOutLen
+=
iTmpLen
;
EVP_CIPHER_CTX_cleanup
(
&
ctx
);
len
=
base64
((
char
*
)
tmp
,
iOutLen
,
(
char
*
)
out
,
outmaxlen
);
qDebug
()
<<
(
char
*
)
out
;
free
(
tmp
);
return
len
;
// AES_KEY aes;
// int len = 0;
// char sha1[32] = { '\0' };
// SHA256((const unsigned char *)key, strlen((const char *)key), (unsigned char *)sha1);
// unsigned char *tmp = (unsigned char *)malloc(outmaxlen * sizeof(unsigned char));
// memset(tmp, 0, outmaxlen);
// qDebug() << (char *)key;
// qDebug() << (char *)iv;
// QByteArray array((char *)sha1);
// qDebug() << array.toBase64();
// qDebug() << array.data();
// if(AES_set_encrypt_key((unsigned char *)sha1, 256, &aes) < 0)
// return 0;
// AES_cbc_encrypt(in, tmp, inlen, &aes, iv, AES_ENCRYPT);
// len = base64((char *)tmp, strlen((char *)tmp), (char *)out, outmaxlen);
// free(tmp);
// return len;
}
static
int
DES3Encode
(
const
unsigned
char
*
key
,
const
char
*
in
,
int
inlen
,
unsigned
char
*
out
,
int
outmaxlen
)
static
int
DES3Encode
(
const
unsigned
char
*
key
,
const
char
*
in
,
int
inlen
,
unsigned
char
*
out
,
int
outmaxlen
)
{
{
int
iOutLen
=
0
;
int
iOutLen
=
0
;
...
...
sbkpay/DataProcess/fmglobal.h
View file @
34af0b6b
...
@@ -13,6 +13,8 @@
...
@@ -13,6 +13,8 @@
#define DES3_KEY "ABCD@#9876DFSAAWKLDEOPDD"
#define DES3_KEY "ABCD@#9876DFSAAWKLDEOPDD"
//#define DES3_KEY "DDDDEEEE45LPODDCXZZLKDDO"
//#define DES3_KEY "DDDDEEEE45LPODDCXZZLKDDO"
#define AES_KEY "ABCD@#9876DFSAAWKLDEOPDD"
#define AES_KEY_PRT "1JG23G12Y12V123G123F1DI1"
#define DES3_KEY_PRT "1JG23G12Y12V123G123F1DI1"
#define DES3_KEY_PRT "1JG23G12Y12V123G123F1DI1"
#define CRET_FILE_NAME "client.p12"
#define CRET_FILE_NAME "client.p12"
#define JSON_KEY_ONLY "partnerOrderId"
#define JSON_KEY_ONLY "partnerOrderId"
...
@@ -23,6 +25,9 @@
...
@@ -23,6 +25,9 @@
#define JSON_KEY_SERPBLICKEY "serverPublicKey"
#define JSON_KEY_SERPBLICKEY "serverPublicKey"
#define JSON_KEY_CLIENTPRIKEY "clientPrivateKey"
#define JSON_KEY_CLIENTPRIKEY "clientPrivateKey"
#define JSON_KEY_REQTYPE "reqType"
#define JSON_KEY_REQTYPE "reqType"
#define JSON_KEY_RPARTNERID "partnerId"
#define JSON_KEY_RSTOREID "storeId"
#define JSON_KEY_RSTATIONID "stationId"
#define VALUE_URL "all/url"
#define VALUE_URL "all/url"
#define VALUE_URL_CRET "all/creturl"
#define VALUE_URL_CRET "all/creturl"
...
...
sbkpay/DataProcess/rollback.cpp
View file @
34af0b6b
...
@@ -58,7 +58,9 @@ void RollBack::RollWiteQuery(QSqlDatabase &_db, QSqlQuery &query)
...
@@ -58,7 +58,9 @@ void RollBack::RollWiteQuery(QSqlDatabase &_db, QSqlQuery &query)
json
[
JSON_KEY_REQTYPE
]
=
3
;
json
[
JSON_KEY_REQTYPE
]
=
3
;
json
[
JSON_KEY_VER
]
=
DEFAULT_JSON_VER_VALUE
;
json
[
JSON_KEY_VER
]
=
DEFAULT_JSON_VER_VALUE
;
if
(
!
CretOperate
::
GetSign
(
json
))
QString
iv
=
json
[
JSON_KEY_RPARTNERID
].
toString
()
+
json
[
JSON_KEY_RSTOREID
].
toString
()
+
json
[
JSON_KEY_RSTATIONID
].
toString
();
if
(
!
CretOperate
::
GetSign
(
json
,
iv
))
{
{
QLOG_ERROR
()
<<
"rollback : "
<<
"get sign error"
;
QLOG_ERROR
()
<<
"rollback : "
<<
"get sign error"
;
continue
;
continue
;
...
...
sbkpay/control.cpp
View file @
34af0b6b
...
@@ -187,10 +187,11 @@ void Control::InitModel()
...
@@ -187,10 +187,11 @@ void Control::InitModel()
bool
Control
::
SendMessageToServer
(
const
QJsonObject
&
json
,
QByteArray
&
outdata
,
QString
&
error
)
bool
Control
::
SendMessageToServer
(
const
QJsonObject
&
json
,
QByteArray
&
outdata
,
QString
&
error
)
{
{
QString
iv
=
json
[
JSON_KEY_PARTNERID
].
toString
()
+
json
[
JSON_KEY_STOREID
].
toString
()
+
json
[
JSON_KEY_STATIONID
].
toString
();
QJsonObject
tmpjson
=
json
;
QJsonObject
tmpjson
=
json
;
tmpjson
[
JSON_KEY_VER
]
=
DEFAULT_JSON_VER_VALUE
;
tmpjson
[
JSON_KEY_VER
]
=
DEFAULT_JSON_VER_VALUE
;
CretOperate
::
GetMAC
(
tmpjson
);
CretOperate
::
GetMAC
(
tmpjson
);
CretOperate
::
GetSign
(
tmpjson
);
CretOperate
::
GetSign
(
tmpjson
,
iv
);
QLOG_INFO
()
<<
"send json to server: "
<<
tmpjson
;
QLOG_INFO
()
<<
"send json to server: "
<<
tmpjson
;
...
@@ -465,6 +466,7 @@ bool Control::SendMessageToSBKAPI(const QJsonObject &json, QByteArray &outdata,
...
@@ -465,6 +466,7 @@ bool Control::SendMessageToSBKAPI(const QJsonObject &json, QByteArray &outdata,
bool
Control
::
GetRSA
(
QString
&
error
)
bool
Control
::
GetRSA
(
QString
&
error
)
{
{
QJsonObject
json
;
QJsonObject
json
;
QString
iv
;
json
.
insert
(
JSON_KEY_VER
,
DEFAULT_JSON_VER_VALUE
);
json
.
insert
(
JSON_KEY_VER
,
DEFAULT_JSON_VER_VALUE
);
json
.
insert
(
JSON_KEY_REQTYPE
,
sign
);
json
.
insert
(
JSON_KEY_REQTYPE
,
sign
);
...
@@ -472,7 +474,11 @@ bool Control::GetRSA(QString &error)
...
@@ -472,7 +474,11 @@ bool Control::GetRSA(QString &error)
json
.
insert
(
JSON_KEY_STATIONID
,
FMTool
::
GetJsonValue
(
_posReqJsonObj
,
JSON_KEY_STATIONID
).
toString
());
json
.
insert
(
JSON_KEY_STATIONID
,
FMTool
::
GetJsonValue
(
_posReqJsonObj
,
JSON_KEY_STATIONID
).
toString
());
json
.
insert
(
JSON_KEY_PARTNERID
,
FMTool
::
GetJsonValue
(
_posReqJsonObj
,
JSON_KEY_PARTNERID
).
toInt
());
json
.
insert
(
JSON_KEY_PARTNERID
,
FMTool
::
GetJsonValue
(
_posReqJsonObj
,
JSON_KEY_PARTNERID
).
toInt
());
CretOperate
::
GetDES3MAC
(
json
);
iv
=
FMTool
::
GetString
(
_request
.
PlatNo
,
4
)
+
FMTool
::
GetString
(
_request
.
StoreNo
,
20
)
+
FMTool
::
GetString
(
_request
.
DeviceNo
,
6
);
QLOG_INFO
()
<<
"get iv : "
<<
iv
;
CretOperate
::
GetDES3MAC
(
json
,
iv
);
QByteArray
array
;
QByteArray
array
;
QLOG_INFO
()
<<
"get mac sign request : "
<<
json
;
QLOG_INFO
()
<<
"get mac sign request : "
<<
json
;
...
@@ -495,7 +501,7 @@ bool Control::GetRSA(QString &error)
...
@@ -495,7 +501,7 @@ bool Control::GetRSA(QString &error)
}
}
}
}
if
(
CretOperate
::
SetRSACret
(
array
)
==
0
)
if
(
CretOperate
::
SetRSACret
(
array
,
iv
)
==
0
)
{
{
error
=
QString
::
fromLocal8Bit
(
"签名失败,请重新获取签名"
);
error
=
QString
::
fromLocal8Bit
(
"签名失败,请重新获取签名"
);
return
false
;
return
false
;
...
@@ -600,10 +606,12 @@ void Control::Request(ReqType type, QStringList list)
...
@@ -600,10 +606,12 @@ void Control::Request(ReqType type, QStringList list)
QByteArray
tmparray
;
QByteArray
tmparray
;
QString
tmperror
;
QString
tmperror
;
QString
iv
=
json
[
JSON_KEY_PARTNERID
].
toString
()
+
json
[
JSON_KEY_STOREID
].
toString
()
+
json
[
JSON_KEY_STATIONID
].
toString
();
QJsonObject
tmpjson
=
json
;
QJsonObject
tmpjson
=
json
;
tmpjson
[
JSON_KEY_VER
]
=
DEFAULT_JSON_VER_VALUE
;
tmpjson
[
JSON_KEY_VER
]
=
DEFAULT_JSON_VER_VALUE
;
tmpjson
[
JSON_KEY_REQTYPE
]
=
3
;
tmpjson
[
JSON_KEY_REQTYPE
]
=
3
;
CretOperate
::
GetSign
(
tmpjson
);
CretOperate
::
GetSign
(
tmpjson
,
iv
);
QLOG_INFO
()
<<
"Send reversal json: "
<<
tmpjson
;
QLOG_INFO
()
<<
"Send reversal json: "
<<
tmpjson
;
...
...
sbkpay/global.h
View file @
34af0b6b
...
@@ -81,7 +81,7 @@
...
@@ -81,7 +81,7 @@
#define JSON_KEY_BEGINTIME "beginTime"
#define JSON_KEY_BEGINTIME "beginTime"
#define JSON_KEY_ENDTIME "endTime"
#define JSON_KEY_ENDTIME "endTime"
#define DEFAULT_JSON_VER_VALUE
2
#define DEFAULT_JSON_VER_VALUE
3
#define DEFAULT_JSON_PRODUCTS_NORMAL "NORMAL"
#define DEFAULT_JSON_PRODUCTS_NORMAL "NORMAL"
#define DEFAULT_JSON_PRODUCTS_FREE "FREE"
#define DEFAULT_JSON_PRODUCTS_FREE "FREE"
...
...
tests/TestSimphony/tst_testsimphony.cpp
View file @
34af0b6b
...
@@ -194,8 +194,9 @@ void TestSimphony::test_GetSign()
...
@@ -194,8 +194,9 @@ void TestSimphony::test_GetSign()
json
[
JSON_KEY_REQTYPE
]
=
3
;
json
[
JSON_KEY_REQTYPE
]
=
3
;
json
[
JSON_KEY_VER
]
=
DEFAULT_JSON_VER_VALUE
;
json
[
JSON_KEY_VER
]
=
DEFAULT_JSON_VER_VALUE
;
QString
iv
=
json
[
JSON_KEY_RPARTNERID
].
toString
()
+
json
[
JSON_KEY_RSTOREID
].
toString
()
+
json
[
JSON_KEY_RSTATIONID
].
toString
();
QCOMPARE
(
CretOperate
::
GetSign
(
json
),
true
);
QCOMPARE
(
CretOperate
::
GetSign
(
json
,
iv
),
true
);
}
}
void
TestSimphony
::
test_POSRequest_data
()
void
TestSimphony
::
test_POSRequest_data
()
...
...
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