How does Grub's MD5 algorithm work? When you run grub-md5-crypt and enter the same password each time you get different results. Generally md5 is supposed to always return the same hash, so why does grub's version return something different each time?
Also, considering that, how is it then determining you are entering the correct password? If you each encryption creation with the same password generates a different hash, then how is it that later on when you enter your password (and theoretically the same algorithm is used) that since the hash's will be different, how are they matched to show you provided the correct password?
I'm assuming a salt is used somewhere and that the salt is randomly generated, but what is the salt, and how is it generated exactly, and then how is it replicated?