module Alipay::Wap::Sign

Constants

ALIPAY_RSA_PUBLIC_KEY
SORTED_VERIFY_PARAMS

Public Class Methods

params_to_string(params) click to toggle source
# File lib/alipay/wap/sign.rb, line 30
def self.params_to_string(params)
  SORTED_VERIFY_PARAMS.map do |key|
    "#{key}=#{params[key]}"
  end.join('&')
end
verify?(params, options = {}) click to toggle source
# File lib/alipay/wap/sign.rb, line 13
def self.verify?(params, options = {})
  params = Utils.stringify_keys(params)
  sign = params.delete('sign')
  string = params_to_string(params)

  case params['sec_id']
  when 'MD5'
    key = options[:key] || Alipay.key
    ::Alipay::Sign::MD5.verify?(key, string, sign)
  when '0001' # RSA
    ::Alipay::Sign::RSA.verify?(ALIPAY_RSA_PUBLIC_KEY, string, sign)
  else
    false
  end
end