Commit 444c2b844e99b505147a91ffa1e2f302d69ef7db

Authored by Jun Jiang
Committed by GitHub
2 parents 3b16d39b 519aa8f5
Exists in master

Merge pull request #110 from oslivan/master

support sha256 verify
Showing 2 changed files with 8 additions and 1 deletions   Show diff stats
lib/wx_pay/sign.rb
... ... @@ -36,7 +36,8 @@ module WxPay
36 36 params["key"] = options[:key] if options[:key]
37 37  
38 38 sign = params.delete('sign') || params.delete(:sign)
39   - generate(params) == sign
  39 +
  40 + generate(params, options[:sign_type] || SIGN_TYPE_MD5) == sign
40 41 end
41 42 end
42 43 end
... ...
test/wx_pay/sign_test.rb
... ... @@ -44,4 +44,10 @@ class WxPay::SignTest < MiniTest::Test
44 44  
45 45 assert_equal "1454C32E885B8D9E4A05E976D1C45B88", WxPay::Sign.generate(@params)
46 46 end
  47 +
  48 + def test_verify_sign_when_use_hmac_sha256
  49 + opts = { key: "key", sign_type: WxPay::Sign::SIGN_TYPE_HMAC_SHA256 }
  50 +
  51 + assert WxPay::Sign.verify?(@params.merge(:sign => @sign_hmac_sha256), opts)
  52 + end
47 53 end
... ...