Learn about data security, encryption, hashing and encoding in our knowledge base.


A hash is a fixed-size output that is produced from a message of any size by a one-way function (a function that is easy to compute in one direction but difficult to invert). A hash function is a one-way function that produces a hash from a message.

Hashing is the process of producing a hash from a message using a one-way function. Hash functions are designed to be computationally infeasible to invert, which means that it is difficult to determine the original message from the hash.

Hash functions are used for a variety of purposes, including:

  • Message integrity: Hash functions can be used to create a unique representation of a message (called a message digest) that can be used as a checksum to verify the integrity of the message. If the message is changed in any way, the resulting hash will be different, which allows the recipient of the message to detect if the message has been altered.

  • Password storage: Hash functions can be used to store passwords in a secure manner. Instead of storing the password itself, the password is hashed using a one-way function and the resulting hash is stored. This helps to protect the confidentiality of the password and makes it more difficult for an attacker to obtain the password from the stored hash.

  • Digital signatures: Hash functions can be used to create a digital signature for a message. The message is hashed using a secret key, and the resulting hash is encrypted