Sha256: 6acc4e70820c8944820a34b64737aa566cbf8938276f8dbfbc870e0a4de9058d

Contents?: true

Size: 403 Bytes

Versions: 1

Compression:

Stored size: 403 Bytes

Contents

require 'digest/md5'

module WxPay
  module Sign
    def self.generate(params)
      query = params.sort.map do |key, value|
        "#{key}=#{value}"
      end.join('&')

      Digest::MD5.hexdigest("#{query}&key=#{WxPay.key}").upcase
    end

    def self.verify?(params)
      params = Utils.stringify_keys(params)
      sign = params.delete('sign')

      generate(params) == sign
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
wx_pay-0.0.1 lib/wx_pay/sign.rb