+1 for randomizing.
do you produce the string with the monte carlo choosing within a specific subset? I'm not sure why it wouldn't produce more than 5 combinations and then 5 different combinations...
also, if you have-time/like, you can probably implement a quick hash on the fly for the domains already returned to avoid listing the same domain twice in a search with few alternatives, it should be quick.
but cool tool!