1. A method comprising: utilizing one or more processors to execute one or more modules of executable code, the one or more modules of executable code being configured for: accepting input at least in the form of input string data comprising one or more strings from a database, each of the one or more strings comprising one or more symbols; constructing one or more pseudo-strings based on the input string data; said constructing step comprising: converting each of the one or more strings into at least one template, the at least one template comprising at least one probabilistic template; and creating the one or more pseudo-strings based on the at least one template; storing a relative probability of the one or more symbols a given position from each group in said input string data; and storing a conditional probability of the one or more symbols for adjacent positions in said input string data; wherein said step of creating the one or more pseudo-strings comprises: employing the stored relative and conditional probabilities; employing a relative probability to generate a first position in at least one of the one or more pseudo-strings; and employing at least one conditional probability to iteratively generate adjacent, positions in at least one of the one or more pseudo-strings; wherein the first position and the adjacent positions preserve one or more characteristics of the input string data, the one or more characteristics including one or more of composition and an order of intra-string distances; wherein the one or more pseudo-strings preserve important characteristics of the input string data while providing privacy preservation of the input string data.