module ZQuickblox::Signature

Public Class Methods

generate_signature(params, secret) click to toggle source
# File lib/zquickblox/signature.rb, line 4
def generate_signature(params, secret)
  pairs = params.map { |key, value| "#{key}=#{value}" }
  pairs.sort!
  body  = pairs.join("&")
  return hmac_sha(body, secret)
end

Private Class Methods

hmac_sha(data, secret) click to toggle source
# File lib/zquickblox/signature.rb, line 13
def hmac_sha(data, secret)
  require "base64"
  require "cgi"
  require "openssl"
  hmac = OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new("sha1"), secret.encode("ASCII"), data.encode("ASCII"))
  return hmac
end