code: function encrypt(input, secret) {
    if (!secret) {
      return new Error('A \'secret\' is required to encrypt');
    }
  
  
    var salt = cryptoLib.randomBytes(KEY_LENGTH / 8),
      iv = cryptoLib.randomBytes(16);
  
    try {
  
      var key = cryptoLib.pbkdf2Sync(secret, salt, ITERATIONS, KEY_LENGTH / 8, 'sha1'),
        cipher = cryptoLib.createCipheriv(CIPHER, key, iv);
  
      var encryptedValue = cipher.update(input, 'utf8', 'base64');
      encryptedValue += cipher.final('base64');
  
      var result = {
        cipher: CIPHER,
        keyDerivation: KEY_DERIVATION,
        keyLength: KEY_LENGTH,
        iterations: ITERATIONS,
        iv: iv.toString('base64'),
        salt: salt.toString('base64'),
        value: encryptedValue
      };
      return result;
  
    } catch (err) {
      return new Error('Unable to encrypt value due to: ' + err);
    }
  }
docs: encrypt() - encrypt a string
  @private
  @param {string} input - the serialized JSON object to decrypt.
  @param {string} secret - the secret to use for encryption