1. A method of tokenization, comprising: accessing a string of characters; accessing a first token table and a second token table, each of the first token table and the second token table mapping each of a set of values to a different token, the first token table different than the second token table; replacing, by a processor, a first substring of the string of characters with a first token mapped to a value of the first substring of characters by the first token table to form an intermediate string of characters; and replacing a second substring of the intermediate string of characters with a second token mapped to a value of the second substring of characters by the second token table to form a tokenized string of characters, the second substring comprising at least one character replaced by the first token.