zhima 0.2.2 → 0.2.3

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: d1f2a5dcde395a6dec95e6a934d13bf1e48dd6bd
4
- data.tar.gz: f8242edbe588875639302fce434e14e6178b8bf3
3
+ metadata.gz: 0f61046e4b42d8292ab7734d60801fed7478e959
4
+ data.tar.gz: 3d88c590c806ae79ecd0e57e82751bd8f3e5d398
5
5
  SHA512:
6
- metadata.gz: 654e9ef37b9c96f11fc06812c4e80a859323830fc97937aa6c95c90bb7d5ec39195a018bbc5dff9a33aa91812a8f6e503101b30a80a205f3582a6f6a5230325f
7
- data.tar.gz: 41d8a125c9f1baa284a7178d34783a50e2c4cd93101e2bb9523bfcf5ee13c7af212c09c35a4ed3245fc962392a859641db320736d54f01bcdc0ae8a2e5d60a10
6
+ metadata.gz: 3561b21c0ca910b39ddc0df79104bdca671112c0b58d6df2372aa5de8fe0912c627b444e7735a028acafd6f75c010c943ac5b986cda4ef0e2722b4db25d20066
7
+ data.tar.gz: e6abb476a05993f7f194bef732a50a5ef504b66f12a9ac650f8d3a7bf45209e3d95fdaabb1b435489bca8b4cc5650975a7ac13a033d5dd0dc40d15225881b810
data/lib/zhima/param.rb CHANGED
@@ -25,7 +25,11 @@ module Zhima
25
25
 
26
26
  def self.decrypt(param_str)
27
27
  # strict_decode64 decode64
28
- Config.mech_rsa.private_decrypt(Base64.decode64 param_str)
28
+ encrypted_str = Base64.decode64 URI.decode(param_str)
29
+ encrypted_str.split('').each_slice(128).inject('') do |str, bytes|
30
+ str += Config.mech_rsa.private_decrypt bytes.join()
31
+ str
32
+ end
29
33
  end
30
34
  end
31
35
  end
data/lib/zhima/score.rb CHANGED
@@ -29,6 +29,12 @@ module Zhima
29
29
  parse_response(response.body)
30
30
  end
31
31
 
32
+ # 芝麻callback url中的params参数解密方法
33
+ def self.param_decrypt(params_str)
34
+ decrypted_str = Param.decrypt(params_str)
35
+ URI.decode_www_form(URI.decode URI.escape(decrypted_str)).to_h
36
+ end
37
+
32
38
  def self.url_by(params, sys_options)
33
39
  params_value, sign = Param.encrypt(params)
34
40
  opts = SYSTEM_OPTIONS.merge(sys_options)
data/lib/zhima/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Zhima
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zhima
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - sam