title: Algorithm for generating huge wordlist
body: <p>Alright, I know this is going to sound bad, like I'm going to use this for un-ethical things, but you have my word that I am not.</p>
  
  <p>I am writing a paper for my Computer and Information Security course and the topic I chose was hashing methods. One of the points that I go over in my paper is MD5 being only one-way and the only way to crack an MD5 hash is to continuously make strings and use an MD5 function, then compare it with the hash you want to crack.</p>
  
  <p>I would like to build a really simple mock-up program to show alongside my paper (we do a presentation and this would be an awesome thing to have), so I wanted to work out an algorithm that makes a string with every possible character combination up to 8 characters. For example the output will be:</p>
  
  <p>a, b, c, ..., aa, ab, ac, ... ba, bb, bc etc etc etc.</p>
  
  <p>It need to include letters, numbers and symbols if possible.</p>
  
  <p>I got partly through the algorithm for this, but unfortunately my programming skills are not up to the task. If anyone can provide a complete algorithm for this I'd be extremely thankful.</p>
  
  <p>Again, if you think I'm a liar and I'm going to use this for hacking purposes you don't have to leave an answer.</p>
  
  <p>Thank you. :)</p>