Well. It almost works. Except when your password is less than 8 characters long (I'm sure that's easy to fix), or if the fourth and fifth character are the same AND the length of your password is one greater than a divisor of the length of message