Cryptographic Hash Algorithms are one-way hashing algorithms that are designed for collision-resistant.
For any arbitrary length input, these hash functions should produce a fixed-length output.
The chance to find collision (by brute force) for these algorithms is extremely little.
Some of the properties of an ideal cryptographic hash function are:
- Deterministic: the same message should always result the same hash
- Quick: should be fast to compute the hash for any given value
- Hard to analyze: a small change in the input should totally change the output value.
- Irreversible: should be hard or impossible to reverse the hash to its original input.
- No collisions: should be extremely hard to find two different messages that produces the same hash.
Some modern cryptographic hash functions families are considered secure enough for most applications:
- SHA-2: based on Merkle–Damgård construction, like SHA-256, SHA-384, SHA-512,...
- SHA-3: more secure than SHA-2 family, they're based on sponge construction, like SHA3-224, SHA3-256, SHA3-384, SHA3-512,...
Source: Practical Cryptography for Developers (https://cryptobook.nakov.com/cryptographic-hash-functions)