Sha256: 958b5c317e51d19b9307114f9ffd16e255cf92f52f2bba8f551da581727d02e9

Contents?: true

Size: 583 Bytes

Versions: 10

Compression:

Stored size: 583 Bytes

Contents

require 'openssl'
require 'base64'

module Stream
    class Signer
        @key = nil

        def initialize(key)
            @key = key.to_s
            @sha1 = OpenSSL::Digest::Digest.new('sha1')
        end

        def urlSafeB64encode(value)
            value.gsub('+', '-').gsub('/', '_').gsub(/^=+/, '').gsub(/=+$/, '')
        end

        def signature(message)
            key = Digest::SHA1.digest @key.to_s
            signature = Base64.strict_encode64(OpenSSL::HMAC.digest(@sha1, key, message.to_s))
            self.urlSafeB64encode(signature)
        end
    end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
stream-ruby-0.8.1 lib/stream/signer.rb
stream-ruby-0.7.0 lib/stream/signer.rb
stream-ruby-0.6.0 lib/stream/signer.rb
stream-ruby-0.5.0 lib/stream/signer.rb
stream-ruby-0.4.0 lib/stream/signer.rb
stream-ruby-0.3.0 lib/stream/signer.rb
stream-ruby-0.2.2 lib/stream/signer.rb
stream-ruby-0.2.1 lib/stream/signer.rb
stream-ruby-0.2.0 lib/stream/signer.rb
stream-ruby-0.1.0 lib/stream/signer.rb