So a hash function is used to encrypt data by translating it with a certain rule set--I've learned about a simple key%b type function before. But with md5 this hashing function isn't the same each time a new code is created? How is the system able to decode it then? _Something_ out there has to know how to translate that back into a readable string right?
And collision is when different strings end up with the same encrypted code (except if you use a hash chain structure). So how is this used in an attack?
Sorry for all the questions. I know I could probably google this but I always learn better through instruction. Thanks!