Over decades of enhancements in computer science, there’s always a revolution going on in cryptography and hashing, MD5, SHA1 yesterday, SHA256/512 today.
As a programmer, it’s sometimes hard to avoid the back and forth talk about how algorithm A is inferior to algorithm B, and forget how hashing can be used in two ways.
Let this be a reminder to myself if anything – At it’s core, the intention for hashing is to take data; and based on it, generate a unique string so unique the value will never be (realistically) generated again using different data.
The cryptology part is the level of difficulty involved in reversing any said ‘one way hash’.
Don’t let the consistent bad-press of SHA/MD5 make you feel they’re insufficient for unique identifiers.