1. A computer-readable medium having computer-executable instructions for performing a method of data obfuscation, the method comprising: operating on a first data structure whose obfuscation is desired, wherein data obfuscation comprises replacing data values in a data structure with deterministically generated pseudo-random data values mirroring the distribution of data values in the data structure; creating a data string based on a portion of said first data structure, wherein said first data structure comprises one or more rows and one or more columns of data values; based on said data string, deterministically generating a second data structure from at least one third data structure, (1) wherein said second and at least one third data structures comprise one or more rows and one or more columns of data values, and (2) wherein each of said one or more columns in said second and at least one third data structure correspond to types of data values in said one or more columns of said first data structure; and replacing said first data structure with said second data structure.