code: function parseParams(params) {
    var header = {};
  
    header.version = params.version || 'aes128gcm';
    header.rs = parseInt(params.rs, 10);
    if (isNaN(header.rs)) {
      header.rs = 4096;
    }
    var overhead = PAD_SIZE[header.version];
    if (header.version === 'aes128gcm') {
      overhead += TAG_LENGTH;
    }
    if (header.rs <= overhead) {
      throw new Error('The rs parameter has to be greater than ' + overhead);
    }
  
    if (params.salt) {
      header.salt = decode(params.salt);
      if (header.salt.length !== KEY_LENGTH) {
        throw new Error('The salt parameter must be ' + KEY_LENGTH + ' bytes');
      }
    }
    header.keyid = params.keyid;
    if (params.key) {
      header.key = decode(params.key);
    } else {
      header.privateKey = params.privateKey;
      if (!header.privateKey) {
        header.keymap = params.keymap;
      }
      if (header.version !== 'aes128gcm') {
        header.keylabel = params.keylabel || 'P-256';
      }
      if (params.dh) {
        header.dh = decode(params.dh);
      }
    }
    if (params.authSecret) {
      header.authSecret = decode(params.authSecret);
    }
    return header;
  }
docs: /* Parse command-line arguments.