rock_fintech 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 76a01e42411b132675f0dfe9cafbfa0de0934d01
|
4
|
+
data.tar.gz: 5138e927b6e555197441d4ec284157df8b2d6ef9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1fc6699d7a735512b2ac7432feaea8f69c03fbfc72f501a9ae78c2204f484f9b85fc4a07dc7f23a04be40bf3b80da1d622a6fbdc893108495a4e4b7724c9b9d5
|
7
|
+
data.tar.gz: 55d3dd6bec461ec8d207db83df08e65e9da571c0acedcfdf15aab399b6402ba37fbe50cace366aebc73db4cdfafeb69e73dd3b5c3d33b022ebe4fbc38fb036e6
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
module RockFintech
|
3
|
+
module Api
|
4
|
+
module Query
|
5
|
+
module CnapsQuery
|
6
|
+
|
7
|
+
# 联行号查询
|
8
|
+
#
|
9
|
+
# @param keywords [Array]
|
10
|
+
#
|
11
|
+
# @return [ Hash ] 结果集
|
12
|
+
# * :result [String] "S"/"F"/"P"
|
13
|
+
# * :request_params [Hash] 请求参数
|
14
|
+
# * :response [Object] 请求返回对象
|
15
|
+
# * :code [String] 结果代码
|
16
|
+
# * :msg [String] 结果信息
|
17
|
+
# * :data: 具体业务返回信息
|
18
|
+
# * :banks [Array] 查询结果银行列表
|
19
|
+
# * :union_bank_code [String] 人行分配联行号
|
20
|
+
# * :bank_name [String] 银行分支行全称
|
21
|
+
#
|
22
|
+
def cnaps_query(keywords, devise='000002', remark='')
|
23
|
+
|
24
|
+
service = 'cnaps_query'
|
25
|
+
|
26
|
+
params = {
|
27
|
+
keywords: keywords,
|
28
|
+
client: devise,
|
29
|
+
custom: remark,
|
30
|
+
}
|
31
|
+
|
32
|
+
res = operate_post(:query, service, params, Http::ErrorCode.cnaps_query, ['RD000000'])
|
33
|
+
|
34
|
+
res
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -2,25 +2,32 @@
|
|
2
2
|
module RockFintech
|
3
3
|
module Encrypt
|
4
4
|
module RSA
|
5
|
+
MAX_ENCRYPT_LENGTH = 245
|
6
|
+
MAX_DECRYPT_LENGTH = 256
|
5
7
|
|
6
8
|
def self.encrypt(content, public_key)
|
7
|
-
content_str =
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
content_str, encryt_str, offset, i = "", "", 0, 0
|
10
|
+
|
11
|
+
bytes_array = content.unpack("C*")
|
12
|
+
input_length = bytes_array.length
|
13
|
+
while input_length - offset > 0
|
14
|
+
encryt_bytes = bytes_array[offset, MAX_ENCRYPT_LENGTH]
|
15
|
+
encryt_str << public_key.public_encrypt(encryt_bytes.pack("C*"))
|
16
|
+
offset = (i += 1) * MAX_ENCRYPT_LENGTH
|
17
|
+
end
|
18
|
+
Base64.strict_encode64(encryt_str)
|
12
19
|
end
|
13
20
|
|
14
21
|
def self.decrypt(content, private_key)
|
15
|
-
|
16
|
-
|
17
|
-
result_str = ''
|
18
|
-
count = content_str.length / 256
|
19
|
-
count.times.each{ |i|
|
20
|
-
str = content_str[256*i, 256]
|
21
|
-
result_str += private_key.private_decrypt(str)
|
22
|
-
}
|
22
|
+
result_str, decryt_bytes, offset, i = "", "", 0, 0
|
23
23
|
|
24
|
+
content_str = Base64.strict_decode64(content)
|
25
|
+
input_length = content_str.length
|
26
|
+
while input_length - offset > 0
|
27
|
+
decryt_bytes = content_str[offset, MAX_DECRYPT_LENGTH]
|
28
|
+
result_str << private_key.private_decrypt(decryt_bytes)
|
29
|
+
offset = (i += 1) * MAX_DECRYPT_LENGTH
|
30
|
+
end
|
24
31
|
result_str
|
25
32
|
end
|
26
33
|
|
data/lib/rock_fintech/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rock_fintech
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- chenpengyu
|
@@ -189,6 +189,7 @@ files:
|
|
189
189
|
- lib/rock_fintech/api/query/batch_query_payment_b.rb
|
190
190
|
- lib/rock_fintech/api/query/batch_query_repayment_b.rb
|
191
191
|
- lib/rock_fintech/api/query/buy_credit_query.rb
|
192
|
+
- lib/rock_fintech/api/query/cnaps_query.rb
|
192
193
|
- lib/rock_fintech/api/query/money_query.rb
|
193
194
|
- lib/rock_fintech/api/trade/.gitkeep
|
194
195
|
- lib/rock_fintech/api/trade/auto_bid_apply.rb
|