Hashing

Operations
Hashing thumbnail

What is hashing?

Definition:

Hashing is the process of transforming any given key or a string of characters into another value.

Analogy:

Hashing is like hash browns.

To hash something is to chop it and mix it.

When you cook hash browns, you can take any potato, hash it up, and out comes hash browns.

You can't look at the hash browns and tell the cook exactly the size and shape and color of the potato used to create these hash browns, because no matter what the input of potatoes are, the end output will always be hash browns.

In other words...

Hashing is the process in which a computer will chop up an input and produce a consistent output of equal length/value. Hashing is used for encryption, so for example, when you enter a password, instead of storing the exact password, you hash it so anyone who can see the stored password can't figure out what the true password value is.

Why is hashing important?

It's one thing to know what a term means, but that is worthless if you don't know why you should know what hashing is in the first place. Let's break down the importance of this tech term based on two high level categories. We'll walk through an explanation as well as provide a score, 1-10, that shows you how much you should care about hashing.

Pre-Product: 2/10

The first will be if you do not have a product yet. This means that you don't have a physical product. Maybe you're in the ideation phase, or maybe you're almost ready to start development. Whichever it is, we'll get into why hashing is important and why you should or shouldn't care about it if you do not have a product.

This term isn't too relevant if you don't have a product yet, so don't waste your time over here! Head on over to some other words that are more important to learn before you have a product.

Live Product: 4/10

The second category is if you do have a live product. Maybe you just launched your business or maybe it's been live for years and you're continuing to improve its quality. Regardless of the scenario, if your product is live, hashing carries a different weight.

While hashing is more important with a live product, as you may require hashing as part of your product, the term is one you just need to know at a high-level. As long as your developers are aware of where you need to hash, you should be good to go.

Examples of hashing

So you know what hashing is, by definition. You know if you should care about it or not depending on your situation as a business/company/product. To dig in deeper, we will walk through some examples so we can make sure you really have a solid grasp on hashing.

Hashing can be quite complicated to break down, so we won't get into any of the technical components of it, like its common functions or methods. What we will do is walk through a real-life example that represents what hashing is, so you can better understand the topic.

Hashing real-life analogy:

Imagine you are at a bowling alley. You go to the desk to exchange your shoes for a pair of bowling shoes. You tell the worker what your shoe size is and give them your shoes. They will take your shoes and put them in the cubicle that includes your shoe size. In exchange, they give you bowling shoes that also have the shoe size written on them as well as the shoe number. When it is time to get your shoes back, you will turn in your shoes and the worker will identify the shoe size and match the shoe number with the cubicle to return to you your pair of shoes.

Key Takeaways:

  1. Hashing is the process in which a computer will chop up an input and produce a consistent output of equal length/value.
  2. If you don't have a product, this term isn't too relevant.
  3. If you do have a product, determine if you are storing proprietary or confidential information that requires extra layers of security.
Not seeing a term? 🤔