Quello a cui ti riferisci tu è un tipo particolare di hash ovvero i one-way, che vengno utilizzati in crittografia per il fatto che sono appunto impossibili da invertire quindi per esempio data una stringa puoi generare facilmente l'hash ma da un hash non puoi tornare alla stringa (non senza l'aiuto della forza bruta)
per generare gli hash puoi utilizzare miliardi di tools che trovi in giro che si basano appunto sull'algoritmo di questi per generarlo..
Se cerchi l'algoritmo dei vari hash basta cercare su google, se vuoi invece un tool per generarli con facilità puoi utilizzare gensum, scritto da me e Sten_Gun proprio per questo
https://github.com/Nhoya/gensum
Gli hash one-way vengno utilizzati (per esempio) nei database così da non dover necessariamente salvare la password di un utente in chiaro, vengono utilizzati anche per verificare le diferenze in un file dato che descrivono grazie all'hash quel preciso file.
e.g. se creo un file con scritto ciao e genero l'md5 i quel file avrà una data stringa in output, se modifico quel file e aggiungo un punto allla fine di ciao e rigenero l'hash un'altra stringa