module Brickwall::Signature
Public Class Methods
calculate_v2(params = {})
click to toggle source
# File lib/brickwall/signature.rb, line 4 def calculate_v2(params = {}) data = string_params(sorted_params!(params.to_a)) + Brickwall.configuration.widget_secret_key Digest.hexencode OpenSSL::Digest::MD5.digest data end
calculate_v3(params = {})
click to toggle source
# File lib/brickwall/signature.rb, line 9 def calculate_v3(params = {}) data = string_params(sorted_params!(params.to_a)) + Brickwall.configuration.widget_secret_key Digest.hexencode OpenSSL::Digest::SHA256.digest data end
Private Class Methods
sorted_params!(arr_params)
click to toggle source
# File lib/brickwall/signature.rb, line 16 def sorted_params!(arr_params) arr_params.sort! { |(k1,_), (k2,_)| k1 <=> k2 } end
string_params(arr_params)
click to toggle source
# File lib/brickwall/signature.rb, line 20 def string_params(arr_params) str = StringIO.new arr_params.each do |(k, v)| str << k.to_s str << '=' str << v.to_s end str.string end