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 input values to a different token value, 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 value mapped to a value of the first sub string of characters by the first token table to form a first intermediate string of characters; replacing a second substring of the intermediate string of characters with a second token value mapped to a value of the second sub string of characters by the second token table to form a second intermediate string of characters; and combining the second intermediate string of characters with metadata describing the tokenization to form a tokenized string of characters.