code: function decryptJson(password, data) {
      var salt = new Buffer(data.salt, 'base64');
      return pbkdf2(password, salt, pbkdf2Iterations, pbkdf2KeyLen, pbkdf2Digest).then(function (key) {
          var iv = new Buffer(data.iv, 'base64');
          var decipher = crypto.createDecipheriv(cipherAlgorithm, key, iv);
          var tag = data.tag;
          if (tag) {
              decipher.setAuthTag(new Buffer(tag, 'base64'));
          }
          var value = decipher.update(data.value, 'base64', 'utf8');
          value += decipher.final('utf8');
          return value;
      }).then(JSON.parse);
  }
docs: decrypts some encoded json data.
  
  @param password of a human.
  @param data encoded json data.
  @return json to decoded.
  
  @internal Not part of public API, exported for library use only.