Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zhichan
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
蒋勇
zhichan
Commits
8e8c48f2
Commit
8e8c48f2
authored
Mar 31, 2020
by
宋毅
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tj
parent
4892331f
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
50 additions
and
4 deletions
+50
-4
center-app/app/base/service/impl/utilsSve/utilsAlibankSve.js
+48
-2
center-app/app/base/service/impl/utilsSve/utilsuserSve.js
+2
-2
No files found.
center-app/app/base/service/impl/utilsSve/utilsAlibankSve.js
View file @
8e8c48f2
...
@@ -4,6 +4,8 @@ const AppServiceBase = require("../../app.base");
...
@@ -4,6 +4,8 @@ const AppServiceBase = require("../../app.base");
const
querystring
=
require
(
'querystring'
);
const
querystring
=
require
(
'querystring'
);
const
md5
=
require
(
"MD5"
);
const
md5
=
require
(
"MD5"
);
const
NodeRSA
=
require
(
'node-rsa'
);
const
NodeRSA
=
require
(
'node-rsa'
);
const
crypto
=
require
(
"crypto"
);
class
utilsTlBankSve
extends
AppServiceBase
{
class
utilsTlBankSve
extends
AppServiceBase
{
constructor
()
{
constructor
()
{
super
();
super
();
...
@@ -37,7 +39,8 @@ class utilsTlBankSve extends AppServiceBase {
...
@@ -37,7 +39,8 @@ class utilsTlBankSve extends AppServiceBase {
body
:
actionBody
.
body_desc
,
body
:
actionBody
.
body_desc
,
sign_type
:
"RSA"
sign_type
:
"RSA"
};
};
var
signStr
=
await
this
.
getCreateAliSignStr
(
payParam
,
parameters
);
// var signStr = await this.getCreateAliSignStr(payParam, parameters);
var
signStr
=
await
this
.
generateSign
(
pobj
,
parameters
,
payParam
.
privatekey
,
"RSA-SHA1"
);
parameters
.
sign
=
signStr
;
parameters
.
sign
=
signStr
;
return
system
.
getResultSuccess
(
parameters
);
return
system
.
getResultSuccess
(
parameters
);
}
}
...
@@ -50,12 +53,55 @@ class utilsTlBankSve extends AppServiceBase {
...
@@ -50,12 +53,55 @@ class utilsTlBankSve extends AppServiceBase {
const
publicDer
=
key
.
exportKey
(
'pkcs8-public'
);
const
publicDer
=
key
.
exportKey
(
'pkcs8-public'
);
let
text
=
Object
.
keys
(
parameters
).
sort
().
map
(
key
=>
{
let
text
=
Object
.
keys
(
parameters
).
sort
().
map
(
key
=>
{
return
`
${
encodeURIComponent
(
key
)}
=
${
encodeURIComponent
(
parameters
[
key
])}
`
return
`
${
encodeURIComponent
(
key
)}
=
${
encodeURIComponent
(
parameters
[
key
])}
`
}).
join
(
'&'
);
}).
join
(
'&'
);
let
buffer
=
Buffer
.
from
(
text
);
let
buffer
=
Buffer
.
from
(
text
);
let
signature
=
key
.
sign
(
buffer
).
toString
(
'base64'
);
let
signature
=
key
.
sign
(
buffer
).
toString
(
'base64'
);
return
signature
;
return
signature
;
}
}
/**
* 生成签名
* 支付宝官方文档:https://doc.open.alipay.com/docs/doc.htm?docType=1&articleId=106118
* 筛选排序 -> 拼接 -> 签名
*
* @param {Object} dataObj 待签名的数据对象
* @param {String} privateKey 私钥
* @returns {String}
*/
async
generateSign
(
pobj
,
dataObj
,
privateKey
,
algorith
)
{
const
stringToBeSign
=
Object
.
keys
(
dataObj
).
sort
().
reduce
((
acc
,
k
)
=>
{
if
(
k
!==
'sign'
&&
dataObj
[
k
]
!==
undefined
)
{
const
v
=
`
${
dataObj
[
k
]}
`
;
if
(
v
.
length
!==
0
)
{
if
(
acc
.
length
===
0
)
{
acc
+=
`
${
k
}
=
${
v
}
`
;
}
else
{
acc
+=
`&
${
k
}
=
${
v
}
`
;
}
}
}
return
acc
;
},
''
);
if
(
stringToBeSign
.
length
===
0
)
{
throw
new
Error
(
'The data to be signed is empty.'
);
}
else
{
const
cryptoSign
=
crypto
.
createSign
(
algorith
);
cryptoSign
.
update
(
stringToBeSign
,
'utf8'
);
var
signStr
=
cryptoSign
.
sign
(
privateKey
,
'base64'
);
this
.
logCtl
.
info
({
appid
:
pobj
.
appInfo
?
pobj
.
appInfo
.
uapp_id
:
""
,
appkey
:
pobj
.
appInfo
?
pobj
.
appInfo
.
uapp_key
:
""
,
op
:
"center-app/app/base/service/impl/utilsSve/utilsAlibankSve.js/generateSign"
,
content
:
"参数:"
+
stringToBeSign
+
"返回结果signStr:"
+
signStr
,
optitle
:
"获取钉钉支付签名信息返回"
,
});
return
signStr
;
}
}
//-------------------------------------------钉钉h5支付-----------------结束
//-------------------------------------------钉钉h5支付-----------------结束
}
}
...
...
center-app/app/base/service/impl/utilsSve/utilsuserSve.js
View file @
8e8c48f2
var
system
=
require
(
"../../../system"
);
var
system
=
require
(
"../../../system"
);
var
settings
=
require
(
"../../../../config/settings"
);
var
settings
=
require
(
"../../../../config/settings"
);
const
AppServiceBase
=
require
(
"../../app.base"
);
const
AppServiceBase
=
require
(
"../../app.base"
);
const
crypto
JS
=
require
(
"crypto"
);
const
crypto
=
require
(
"crypto"
);
//商标查询操作
//商标查询操作
class
UtilsUserSve
extends
AppServiceBase
{
class
UtilsUserSve
extends
AppServiceBase
{
constructor
()
{
constructor
()
{
...
@@ -138,7 +138,7 @@ class UtilsUserSve extends AppServiceBase {
...
@@ -138,7 +138,7 @@ class UtilsUserSve extends AppServiceBase {
let
plainTex
=
"jsapi_ticket="
+
ticket
+
"&noncestr="
+
nonce
+
"×tamp="
+
timeStamp
+
"&url="
+
url
;
let
plainTex
=
"jsapi_ticket="
+
ticket
+
"&noncestr="
+
nonce
+
"×tamp="
+
timeStamp
+
"&url="
+
url
;
var
sha1
=
crypto
JS
.
createHash
(
'sha1'
);
var
sha1
=
crypto
.
createHash
(
'sha1'
);
sha1
.
update
(
plainTex
,
'utf8'
);
sha1
.
update
(
plainTex
,
'utf8'
);
let
signature
=
sha1
.
digest
(
'hex'
);
let
signature
=
sha1
.
digest
(
'hex'
);
...
...
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