class GeeePay::Utils::Md5
Public Class Methods
crypt_md5(msg, input_charset='utf-8')
click to toggle source
# File lib/geee_pay/utils/md5.rb, line 27 def self.crypt_md5(msg, input_charset='utf-8') if input_charset == 'utf-8' sign_msg = msg else sign_msg = msg.encode('utf-8', input_charset) end return Digest::MD5.hexdigest sign_msg end
sign(params, key)
click to toggle source
生成md5签名
# File lib/geee_pay/utils/md5.rb, line 7 def self.sign(params, key) # 删除空值 nonull_params = params.delete_if {|key, value| value.nil? or value == ''} # 排序 data_hash = sorted_hash(nonull_params) # 拼接 data_arr = [] data_hash.each do |k,v| data_arr << "#{k.to_s}=#{v.to_s}" end data_arr << "key=#{key}" data_str = data_arr.join('&') return crypt_md5(data_str), data_str end
sorted_hash(in_hash)
click to toggle source
排序
# File lib/geee_pay/utils/md5.rb, line 23 def self.sorted_hash(in_hash) return in_hash.sort{|a,b| a.to_s <=> b.to_s } end