class Cipher

Public Class Methods

new(prefix,payload,keys,keywords) click to toggle source
# File lib/logstash/filters/cipher.rb, line 5
def initialize(prefix,payload,keys,keywords)
  @prefix=prefix
  @payload=payload
  @keys=keys
  @keywords=keywords
end

Public Instance Methods

decode(payload) click to toggle source

Decode Payload and unescape Characters

# File lib/logstash/filters/cipher.rb, line 18
def decode(payload)
  return Base64.decode64(URI.unescape(payload))
end
extract(payload) click to toggle source

Extract according to prefix

# File lib/logstash/filters/cipher.rb, line 13
def extract(payload)
  return payload[@prefix.length..@payload.length]
end
match(payload,prefix,keys,keywords) click to toggle source
# File lib/logstash/filters/cipher.rb, line 22
def match(payload,prefix,keys,keywords)
  #Match, Payload
  result = [false,'']
    payload = decode(extract(payload))
    keys.each do |key|
      begin
        payload = decrypt(payload, Base64.decode64(key))
        keywords.each do |keyword|
          if payload.include? keyword
            result[0] = true
            result[1] = payload.to_s
            break
          end
        end
      rescue
        return result
      end
    end

    return result
end