digest is a small value generated by a hash function from a whole message. Ideally, a digest is quick to calculate, irreversible, and unpredictable, and therefore indicates whether someone has tampered with a given message.

A digest can be used to perform several tasks:

  • in non-cryptographic applications (e.g., the index of hash tables, or a fingerprint used to detect duplicate data or to uniquely identify files)
  • verify message integrity (a tampered message will have a different hash)
  • store passwords so that they can be retrieved, but still checked (To do this securely, you also need to salt the password.)
  • generate pseudo-random numbers
  • generate keys

It is critical to choose the proper hash function for your use case to avoid collisions and predictability.

Learn more

Document Tags and Contributors

 Contributors to this page: Sodan, marumari, Andrew_Pfeiffer, hbloomer, kscarfone, teoli
 Last updated by: Sodan,