Hashing is an algorithm that gets a text (or other data) and returns a different, often long and random-looking, text. It’s usually a one-way function, meaning it is easy to calculate but hard to reverse. Sounds easy, but when it’s used with passwords, things get complicated.