looking for ideas to get started on what I would call a word obscurifier word list generator.
it takes a string, e.g. “hello” and basically looks to generate further possibilities of similar words out of it, i.e. returning something like:
- h3ll0
- he11o
- HEL10
- h3LLo
- …
- …
As you can see I need to be cap sensitive.
I am just looking at ideas/ways I could kick this off.
Maybe the first pass does the cap stuff:
- hello
- Hello
- hEllo
- Hello
- HEllo
- …
and then feed that list/array to the method to sub numbers/symbols
I am confident in and will most likely use C# (at least to start) this application.
If something has already been written which is available which does the kind of thing I am talking about then all the better, i’d love to hear about it.
Thanks for reading.
This is too long to be a comment, but it’s not a real answer. Merely a suggestion. First, consider this link:
http://ericlippert.com/2010/06/28/computing-a-cartesian-product-with-linq/
You could think of your problem as computing a cartesian product of a sequence of sequences. Just thinking about alphanumeric characters, they have from 1 to 3 states, such as a the original character in lower case (if applicable), in upper case (if applicable), and the numeric replacement (again, if applicable). Or if you’re starting with a number, the number, and the upper and lower case letter replacement. Such as:
Each of those is a sequence. So in your problem, you might turn the original input “hello” into a process where you grab the sequences that correspond to each character in the string, and then take those sequences and get their cartesian products. The methodology in the linked blog from Eric Lippert would be a great guide for continuing from here.