StringGen provides a class that functions as a generator to churn out incremental strings for usage with a bruteforcer. It's very simple nature and strong re-usability makes it ideal for situations when you are designing an application for bruteforcing an algorithm. It also comes with the ability to dump it's state and then reload at a latter time, allowing your application to terminate and then pick back up at the same place the generator was before. There is also the option to use one of the many pre-provided character sets, or design your own for an added flexibility.
I found StringGen's easy-to-use style is what makes it a very useful aid for developing bruteforcers. All you do is call next() on the string_gen.generator class and the next incrementation will be returned. Calling it repeated times will increment it further. Here's an example:
>>> import string_gen >>> gen = string_gen.generator() >>> gen.next() 'a' >>> gen.next() 'b' >>> gen.next() 'c' >>> gen.skip(1234567) # Skip ahead a bit >>> gen.next() 'aT$&' >>> gen.next() 'aT$*' >>> gen.next() 'aT$(' >>> gen.next() 'aT$)' >>> gen.make(20) # Return 20 new incrementations ['aT$-', 'aT$=', 'aT$_', 'aT$+', 'aT$[', 'aT$]', 'aT${', 'aT$}', 'aT$', 'aT$|', 'aT$;', 'aT$:', "aT$'", 'aT$"', 'aT$,', 'aT$.', 'aT$<', 'aT$>', 'aT$/', 'aT$?'] >>>
There is also documentation avaliable in the python interpreter's help() function. Just import StringGen and call help() on it from IDLE, or the python console.