Hashing involves using an algorithm to generate a numeric key from input data. It maps keys to integers in order to store and retrieve data more efficiently. A simple hashing algorithm uses the modulus operator (%) to distribute keys uniformly. Hashing is commonly used for file management, comparing complex values, and cryptography. Collisions occur when different keys hash to the same value, requiring strategies like open hashing, closed hashing, or deleting data. Closed hashing supplements the hash table with linked lists to store colliding entries outside the standard table.