static normalizeAndHash()

in src/objects/serverside/utils.js [34:92]


  static normalizeAndHash (input: string, field: string) {
    if (field == null || input == null) {
      return null;
    }

    let normalized_input = input.trim().toLowerCase();

    if (normalized_input.length === 0) {
      return null;
    }

    if (normalized_input.match(SHA256_REGEX) || normalized_input.match(MD5_REGEX)) {
      return normalized_input;
    }

    switch (field) {
      case 'country':
        normalized_input = ServerSideUtils.normalizeCountry(normalized_input);
        break;
      case 'ct':
        normalized_input = ServerSideUtils.normalizeCity(normalized_input);
        break;
      case 'em':
        normalized_input = ServerSideUtils.normalizeEmail(normalized_input);
        break;
      case 'ge':
        normalized_input = ServerSideUtils.normalizeGender(normalized_input);
        break;
      case 'ph':
        normalized_input = ServerSideUtils.normalizePhone(normalized_input);
        break;
      case 'st':
        normalized_input = ServerSideUtils.normalizeState(normalized_input);
        break;
      case 'zp':
        normalized_input = ServerSideUtils.normalizeZip(normalized_input);
        break;
      case 'f5first':
      case 'f5last':
        normalized_input = ServerSideUtils.normalizeF5NameField(normalized_input);
        break;
      case 'fi':
        normalized_input = normalized_input.charAt(0);
        break;
      case 'dobd':
        normalized_input = ServerSideUtils.normalizeDobd(normalized_input);
        break;
      case 'dobm':
        normalized_input = ServerSideUtils.normalizeDobm(normalized_input);
        break;
      case 'doby':
        normalized_input = ServerSideUtils.normalizeDoby(normalized_input);
        break;
    }

	  // Hashing the normalized input with SHA 256
    const hashed_input = ServerSideUtils.toSHA256(normalized_input);
    return hashed_input;
  }