System, method, and computer-readable medium for removing credit card numbers from both fixed and variable length transaction records
First Claim
1. A method for processing, by a processor, transaction records, comprising:
- initializing a first record index variable representing a numeric value to be zero;
reading a first transaction record comprising a plurality of characters, including a credit card number, wherein the first transaction record is identified via the first record index variable, and wherein one or more of the plurality of characters comprises alphabetic and numeric characters;
generating a second record comprising only the numeric characters by parsing the alphabetic characters from the first transaction record;
initializing a character index variable to zero;
sequentially parsing N consecutive numeric characters from the second record with each sequentially parsing step offset by one numeric character from a previous parsing step such that each possible sequence of N consecutive numeric characters are parsed from the second record until an end-of-line character is identified in the second record;
evaluating each of a plurality of sequences of N consecutive numeric characters to determine whether the respective sequence comprises a valid credit card number by evaluating each of the plurality of sequences of N consecutive numeric characters with a LUHN Mod 10 calculation;
when any one of the sequences of N consecutive numeric characters does not pass the LUHN Mod 10 evaluation, then determining that particular sequence of N consecutive numeric characters does not comprise a valid credit card number;
responsive to identifying the N consecutive numeric characters do not comprise a valid credit card number N, incrementing the character index variable;
generating a temporary record containing only numeric characters by parsing non-numeric characters from the first transaction record, wherein the temporary record comprises at least a numeric credit card number and at least one numeric character set associated with the credit card number that is different from the credit card number;
searching the first transaction record for any sequence evaluated as the valid credit card number;
determining whether the first record index variable that specifies a length of character strings is greater than or equal to a numeric string length being evaluated, and when the first record index variable is determined to be not equal or greater than the numeric string length being evaluated, then the first record index variable is incremented, and a determination is made whether any additional records other than the first transaction record are available for evaluation;
generating a scrubbed transaction record from the first transaction record based on the sequence evaluated as the valid credit card number, wherein the scrubbed transaction record comprises each of plurality of characters with the credit card number being scrubbed;
responsive to searching, determining a first sequence evaluated as a valid credit card number is included in the first transaction record;
incrementing the character index variable responsive to determining the valid credit card number and parsing the characters of the temporary record and writing the parsed characters to a string for additional evaluation of valid credit card numbers until all additional records have been evaluated; and
replacing each character of the first sequence in the first transaction record with a respective non-numeric character to generate the scrubbed transaction record.
8 Assignments
0 Petitions
Accused Products
Abstract
A system, method, and computer readable medium for removing credit card numbers from a financial transaction record is provided. A temporary record containing only numeric characters is generated by parsing non-numeric characters from the financial transaction record. Numeric strings are then parsed from the temporary record and evaluated to determine if the parsed numeric strings potentially comprise a credit card number. Numeric strings that are evaluated as potentially comprising credit card numbers may then be further evaluated to determine if the numeric strings comprise valid credit card numbers. The original financial transaction record may then be searched for numeric strings evaluated as valid credit card numbers. Any string of consecutive characters that match a validated credit card number may then be replaced with white space characters or other innocuous characters in the transaction record.
-
Citations
12 Claims
-
1. A method for processing, by a processor, transaction records, comprising:
-
initializing a first record index variable representing a numeric value to be zero; reading a first transaction record comprising a plurality of characters, including a credit card number, wherein the first transaction record is identified via the first record index variable, and wherein one or more of the plurality of characters comprises alphabetic and numeric characters; generating a second record comprising only the numeric characters by parsing the alphabetic characters from the first transaction record; initializing a character index variable to zero; sequentially parsing N consecutive numeric characters from the second record with each sequentially parsing step offset by one numeric character from a previous parsing step such that each possible sequence of N consecutive numeric characters are parsed from the second record until an end-of-line character is identified in the second record; evaluating each of a plurality of sequences of N consecutive numeric characters to determine whether the respective sequence comprises a valid credit card number by evaluating each of the plurality of sequences of N consecutive numeric characters with a LUHN Mod 10 calculation; when any one of the sequences of N consecutive numeric characters does not pass the LUHN Mod 10 evaluation, then determining that particular sequence of N consecutive numeric characters does not comprise a valid credit card number; responsive to identifying the N consecutive numeric characters do not comprise a valid credit card number N, incrementing the character index variable; generating a temporary record containing only numeric characters by parsing non-numeric characters from the first transaction record, wherein the temporary record comprises at least a numeric credit card number and at least one numeric character set associated with the credit card number that is different from the credit card number; searching the first transaction record for any sequence evaluated as the valid credit card number; determining whether the first record index variable that specifies a length of character strings is greater than or equal to a numeric string length being evaluated, and when the first record index variable is determined to be not equal or greater than the numeric string length being evaluated, then the first record index variable is incremented, and a determination is made whether any additional records other than the first transaction record are available for evaluation; generating a scrubbed transaction record from the first transaction record based on the sequence evaluated as the valid credit card number, wherein the scrubbed transaction record comprises each of plurality of characters with the credit card number being scrubbed; responsive to searching, determining a first sequence evaluated as a valid credit card number is included in the first transaction record; incrementing the character index variable responsive to determining the valid credit card number and parsing the characters of the temporary record and writing the parsed characters to a string for additional evaluation of valid credit card numbers until all additional records have been evaluated; and replacing each character of the first sequence in the first transaction record with a respective non-numeric character to generate the scrubbed transaction record. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-readable medium having computer-executable instructions for execution by a processing system, the computer-executable instructions for processing transaction records, the computer-readable medium comprising instructions for:
-
initializing a first record index variable representing a numeric value to be zero; reading a first transaction record comprising a plurality of characters, including a credit card number, wherein the first transaction record is identified via the first record index variable, and wherein one or more of the plurality of characters comprises alphabetic and numeric characters; generating a second record comprising only the numeric characters by parsing the alphabetic characters from the first record; initializing a character index variable to zero; sequentially parsing N consecutive numeric characters from the second record with each sequentially parsing step offset by one numeric character from a previous parsing step such that each possible sequence of N consecutive numeric characters are parsed from the second record until an end-of-line character is identified in the second record; evaluating each of a plurality of sequences of N consecutive numeric characters to determine whether the respective sequence comprises a valid credit card number by evaluating each of the plurality of sequences of N consecutive numeric characters with a LUHN Mod 10 calculation when any one of the sequences of N consecutive numeric characters does not pass the LUHN Mod 10 evaluation, then determining that particular sequence of N consecutive numeric characters does not comprise a valid credit card number; responsive to identifying the N consecutive numeric characters do not comprise a valid credit card number N, incrementing the character index variable; generating a temporary record containing only numeric characters by parsing non-numeric characters from the first transaction record, wherein the temporary record comprises at least a numeric credit card number and at least one numeric character set associated with the credit card number that is different from the credit card number; generating a scrubbed transaction record from the first transaction record based on the sequence evaluated as the valid credit card number, wherein the scrubbed transaction record comprises each of plurality of characters with the credit card number being scrubbed; searching the first transaction record for any sequence evaluated as a valid credit card number; determining whether the first record index variable that specifies a length of character strings is greater than or equal to a numeric string length being evaluated, and when the first record index variable is determined to be not equal or greater than the numeric string length being evaluated, then the first record index variable is incremented and a determination is made whether any additional records other than the first transaction record are available; responsive to searching, determining a first sequence evaluated as a valid credit card number is included in the first transaction record; incrementing the character index variable responsive to determining the valid credit card number and parsing the characters of the temporary record and writing the parsed characters to a string for additional evaluation of valid credit card numbers until all additional records have been evaluated; and replacing each character of the first sequence in the first transaction record with a respective non-numeric character to generate the scrubbed transaction record. - View Dependent Claims (6, 7, 8)
-
-
9. A system for processing transaction records, comprising:
-
a processing unit; and a memory communicatively coupled with the processing unit and storing computer-executable instructions for execution by the processing unit, the computer-executable instructions specifying logic for initializing a first record index variable representing a numeric value to be zero; reading a first transaction record comprising a plurality of characters, including a credit card number, wherein the first transaction record is identified via the first record index variable, and wherein one or more of the plurality of characters comprises alphabetic and numeric characters, generating a second record comprising only the numeric characters by parsing the alphabetic characters from the first record, initializing a character index variable to zero, sequentially parsing N consecutive numeric characters from the second record with each sequentially parsing step offset by one numeric character from a previous parsing step such that each possible sequence of N consecutive numeric characters are parsed from the second record until an end-of-line character is identified in the second record, evaluating each of a plurality of sequences of N consecutive numeric characters to determine whether the respective sequence comprises a valid credit card number by evaluating each of the plurality of sequences of N consecutive numeric characters with a LUHN Mod 10 calculation, when any one of the sequences of N consecutive numeric characters does not pass the LUHN Mod 10 evaluation, then determining that particular sequence of N consecutive numeric characters does not comprise a valid credit card number, responsive to identifying the N consecutive numeric characters do not comprise a valid credit card number N, incrementing the character index variable, and searching the first transaction record for any sequence evaluated as a valid credit card number, determining whether the first record index variable that specifies a length of character strings is greater than or equal to a numeric string length being evaluated, and when the first record index variable is not equal or greater than the numeric string length being evaluated then the first record index variable is incremented and a determination is made whether any additional records other than the first transaction record are available, generating a temporary record containing only numeric characters by parsing non-numeric characters from the first transaction record, wherein the temporary record comprises at least a numeric credit card number and at least one numeric character set associated with the credit card number that is different from the credit card number; and generating a scrubbed transaction record from the first transaction record based on the sequence evaluated as the valid credit card number, wherein the scrubbed transaction record comprises each of plurality of characters with the credit card number being scrubbed, responsive to searching, determining a first sequence evaluated as a valid credit card number is included in the first transaction record, incrementing the character index variable responsive to determining the valid credit card number and parsing the characters of the temporary record and writing the parsed characters to a string for additional evaluation of valid credit card numbers until all additional records have been evaluated, and replacing each character of the first sequence in the first transaction record with a respective non-numeric character to generate the scrubbed transaction record. - View Dependent Claims (10, 11, 12)
-
Specification