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, comprising:
- reading a first transaction record comprising a plurality of characters, including a credit card number, wherein one or more of the plurality of characters comprises alphabetic and numeric characters, the first transaction record comprising either a fixed field record or a delimited record of variable length;
generating a second record comprising only the numeric characters by parsing the alphabetic characters from the first transaction record, the second record comprising a temporary numeric string having a greater length than a number of characters of a valid credit card;
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 evaluation;
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 a character index variable;
searching the first transaction record for any sequence evaluated as the valid credit card number;
responsive to searching, determining a first sequence evaluated as a valid credit card number is included in the first transaction record; and
replacing each character of the first sequence in the first transaction record with a respective non-numeric and non-identifying character to generate a 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.
9 Citations
18 Claims
-
1. A method for processing, by a processor, comprising:
-
reading a first transaction record comprising a plurality of characters, including a credit card number, wherein one or more of the plurality of characters comprises alphabetic and numeric characters, the first transaction record comprising either a fixed field record or a delimited record of variable length; generating a second record comprising only the numeric characters by parsing the alphabetic characters from the first transaction record, the second record comprising a temporary numeric string having a greater length than a number of characters of a valid credit card; 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 evaluation; 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 a character index variable; searching the first transaction record for any sequence evaluated as the valid credit card number; responsive to searching, determining a first sequence evaluated as a valid credit card number is included in the first transaction record; and replacing each character of the first sequence in the first transaction record with a respective non-numeric and non-identifying character to generate a scrubbed transaction record. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-readable medium having computer-executable instructions for execution by a processing system, the computer-executable instructions for when executed, cause the processing system to:
-
read a first transaction record comprising a plurality of characters, including a credit card number, wherein one or more of the plurality of characters comprises alphabetic and numeric characters, the first transaction record comprising either a fixed field record or a delimited record of variable length; generate a second record comprising only the numeric characters by parsing the alphabetic characters from the first transaction record, the second record comprising a temporary numeric string having a greater length than a number of characters of a valid credit card; sequentially parse 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; evaluate 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 evaluation; when any one of the sequences of N consecutive numeric characters does not pass the LUHN Mod 10 evaluation, then determine 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, increment a character index variable; search the first transaction record for any sequence evaluated as a valid credit card number; responsive to searching, determine a first sequence evaluated as a valid credit card number is included in the first transaction record; and replace each character of the first sequence in the first transaction record with a respective non-numeric and non-identifying character to generate a scrubbed transaction record. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system, 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 that, when executed, causes the processing unit to; read a first transaction record comprising a plurality of characters, including a credit card number, wherein one or more of the plurality of characters comprises alphabetic and numeric characters, the first transaction record comprising either a fixed field record or a delimited record of variable length; generate a second record comprising only the numeric characters by parsing the alphabetic characters from the first transaction record, the second record comprising a temporary numeric string having a greater length than a number of characters of a valid credit card; sequentially parse 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; evaluate 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 evaluation; when any one of the sequences of N consecutive numeric characters does not pass the LUHN Mod 10 evaluation, then determine 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, increment a character index variable; and search the first transaction record for any sequence evaluated as a valid credit card number; responsive to searching, determine a first sequence evaluated as a valid credit card number is included in the first transaction record; and replace each character of the first sequence in the first transaction record with a respective non-numeric and non-identifying character to generate a scrubbed transaction record. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification