def parse!(buffer)
      offset = parse(buffer)
      return if offset.zero?

      buffer.slice!(0..offset - 1)
      buffer
    end
def parse!(buffer)
      offset = parse(buffer)
      return if offset.zero?

      buffer.slice!(0..offset - 1)
      buffer
    end
Returns [String] the encrypted data without header
 Returns nil if no header is present

 The supplied buffer will be updated directly and
 its header will be stripped if present.

 Parameters
   buffer
     String to extract the header from