My encryption tool coded in C uses a weak hashing algorithm to hash the input key. Let me show you how easily weak hashing algorithms can be exploited using hash collisions. A hash collision occurs when two different inputs produce the same hash value. Since many encryption algorithms first hash the input key, they are all subject to hash collision exploits. Always use cryptographically secure hashes!