decrypt(data, version) {
    version = version || this.version;
    if (version === '3.4') {
      return this._decrypt34(data);
    }

    if (version === '3.5') {
      return this._decrypt35(data);
    }

    return this._decryptPre34(data);
  }
Decrypts data.
@param {String|Buffer} data to decrypt
@param {String} [version] protocol version
@returns {Object|String}
returns object if data is JSON, else returns string