mobiledefense/google_safe_browsing

View on GitHub
lib/google_safe_browsing/key_helper.rb

Summary

Maintainability
A
0 mins
Test Coverage
module GoogleSafeBrowsing
  class KeyHelper

    def self.web_safe_base64_decode(str)
      str.tr!('-_', '+/')
      str << '=' while str.length % 4 != 0
      Base64.decode64(str)
    end

    def self.web_safe_base64_encode(str)
      str = Base64.encode64(str).chomp
      str.tr('+/', '-_')
    end

    def self.compute_mac_code(data)
      sha1 = OpenSSL::HMAC.digest('sha1',
                                  GoogleSafeBrowsing.config.client_key,
                                  data)
      web_safe_base64_encode sha1
    end
  end
end