_encrypt35(options) {
    let encrypted;
    let localIV = Buffer.from((Date.now() * 10).toString().slice(0, 12));
    if (options.iv !== undefined) {
      localIV = options.iv.slice(0, 12);
    }

    const cipher = crypto.createCipheriv('aes-128-gcm', this.getKey(), localIV);
    if (options.aad === undefined) {
      encrypted = Buffer.concat([cipher.update(options.data), cipher.final()]);
    } else {
      cipher.setAAD(options.aad);
      encrypted = Buffer.concat([localIV, cipher.update(options.data), cipher.final(), cipher.getAuthTag(), Buffer.from([0x00, 0x00, 0x99, 0x66])]);
    }

    return encrypted;
  }
Encrypt data for protocol 3.5
@param {Object} options Options for encryption
@param {String} options.data data to encrypt
@param {Boolean} [options.base64=true] `true` to return result in Base64
@returns {Buffer|String} returns Buffer unless options.base64 is true