I CRC (cyclic redundancy check) sono basati sulla teoria dei codici di correzione degli errori ciclici. L'uso di codici a cicli sistematici, che codificano i messaggi aggiungendo un valore di controllo di lunghezza fissa, allo scopo di rilevare gli errori nelle reti di comunicazione, è stato proposto per la prima volta da W.Wesley Peterson nel 1961.
I codici ciclici non sono solo semplici da implementare, ma hanno il vantaggio di essere particolarmente adatti a rilevare gli errori di burst: sequenze contigue di simboli di dati errati nei messaggi. Questo è importante perché gli errori di burst sono errori di trasmissione comuni in molti canali di comunicazione, compresi i dispositivi di memorizzazione magnetici e ottici.
SHA, che sta per secure hash algorithm, è un algoritmo di hashing crittografico utilizzato per determinare l'integrità di un particolare pezzo di dati. Variazioni di questo algoritmo sono spesso usate dalle autorità di certificazione SSL per firmare i certificati. Questo algoritmo aiuta a garantire che i dati del tuo sito web non siano modificati o manomessi. Lo fa generando valori di hash unici da ogni particolare file / variazione di un file. Sulla base di questi valori di hash, si può determinare se il file è stato alterato o meno confrontando il valore di hash previsto con il valore di hash ricevuto.