Sono fondamentalmente la stessa cosa, ma i checksum tendono ad essere più piccoli (pochi byte).
Integrità
Sia le funzioni hash che i checksum vengono utilizzati per verificare l'integrità dei dati. Le funzioni hash crittografiche sono funzioni hash per le quali una collisione è sconosciuta. Questo è il motivo per cui le funzioni di hash crittografiche vengono utilizzate per costruire cose come un MAC (vedi sotto).
Perdita di informazioni
Un'altra proprietà delle funzioni di hash e dei checksum è che le informazioni vengono perse durante il calcolo. Questo deve essere vero se si convertono alcuni dati in un checksum / hash con meno bit. Questo è anche il motivo per cui non puoi tornare ai dati originali con solo un checksum o un hash.
HMAC
Quello che penso tu stia cercando è un MAC (Message Authentication Code). Tale codice viene utilizzato per rilevare la manomissione dei dati. Il più delle volte è solo una combinazione di una funzione hash e qualche valore segreto, come una password. Vedi anche:
link
Password
Le password vengono talvolta memorizzate come hash. Per verificare la password, viene calcolato un hash della password inserita e viene confrontato con l'hash della password memorizzata. I checksum non vengono utilizzati per queste cose perché sono generalmente più brevi e più soggetti a collisioni, il che significa che puoi provare password casuali e avere la possibilità che il tuo input abbia lo stesso checksum della password originale.
Si noti che l'uso delle normali funzioni di hash (digest) non è il modo giusto per memorizzare le password. Poiché vengono creati per una rapida digestione dei dati, gli hacker possono rompere quegli hash alle alte velocità. I programmatori dovrebbero utilizzare una funzione di hash progettata per memorizzare le password, come bcrypt o Argon2.
Modifica: esempi di algoritmi
Per rispondere alla tua domanda finale su algoritmi specifici: Dai un'occhiata alla pagina di Wikipedia che elenca le funzioni hash. Come ho detto sopra, sono fondamentalmente uguali. Su Wikipedia, i checksum sono elencati come un sottoinsieme di funzioni hash.
link