I want to generate all possible string (a-z, A-Z, 0-9), thus:

a
b
...
z
aa
ab
...
az
aaa
...


First Question:

Does anyone know how to do this, and is there any way to generate this list faster, eg: using hash tables or anything? And if so could you possibly give an example.


Second Question:

This calculations could take weeks on a normal PC, so I want to build in an option to pause and resume at a later stage.
I have the last word that was generated from the previous calculation (eg: "aabc", thus the next word will be "aabd"). I have the last word and I want the calculation to start at the last position, and not to calculate each time from the begining.

Thank for any help.