Patent ID: 7882134

Claim:
A non-transitory computer-readable medium storing processor executable instructions operable to control the processor to perform a method, the method comprising: accessing data describing a mask for a value in a database table column to be masked; identifying a number of distinct values in the database table column to be masked; determining a field width of a field large enough to store a member of a set of non-repeating random values (NRRVs), where the set of NRRVs has at least as many members as the number of distinct values; identifying a first set of elements in the mask to store digits from an NRRV, where the first set of elements has at least as many members as the field width; identifying a second set of elements in the mask to store digits from a filler value, where the second set of elements includes locations in the mask that are not in the first set of elements; producing a set of filler values to be associated with the second set of values, where the filler value is one of, a random number, a fixed value, and a value from a table of filler values; selectively translating members of the set of filler values, where selectively translating members of the set of filler values includes one or more of, translating a digit from a first base to a second base, translating a digit from a numeric value to a character value, and translating a character from a first character set to a second character set; producing a set of NRRVs to be associated with the first set of elements; generating a set of statements that when executed produce a mapping table that includes masks for distinct values in the database table column to be masked, where data describing a mask includes one or more of, a user-specified character set for characters appearing in a masked value, a user-specified starting location for a non-repeating random value (NRRV), and a user-specified ending location for an NRRV; and storing the set of statements in a computer-readable medium.