You'll want to use
http://thesprawl.org/projects/pack/#policygen
.. but that will only solve most of your question, not the "no repeated characters" part.
But in practice, most hashes are fast enough that this can be ignored.
[Edit:]
Read too fast - I see that most of your concern is about duplicated/repeated letters.
PACK won't help with this, because generating masks that did this would be prohibitive. You're better off with a custom external script to generate candidates.
http://thesprawl.org/projects/pack/#policygen
.. but that will only solve most of your question, not the "no repeated characters" part.
But in practice, most hashes are fast enough that this can be ignored.
[Edit:]
Read too fast - I see that most of your concern is about duplicated/repeated letters.
PACK won't help with this, because generating masks that did this would be prohibitive. You're better off with a custom external script to generate candidates.
~