Miklix

Calcolatrice del codice hash CRC-32

Pubblicato: 17 febbraio 2025 alle ore 18:11:29 UTC

Calcolatrice del codice hash che utilizza la funzione hash CRC-32 (Cyclic Redundancy Check 32 bit) per calcolare un codice hash in base all'input di testo o al caricamento di un file.

Questa pagina è stata tradotta automaticamente dall'inglese per renderla accessibile al maggior numero di persone possibile. Purtroppo, la traduzione automatica non è ancora una tecnologia perfezionata, quindi possono verificarsi degli errori. Se preferite, potete consultare la versione originale in inglese qui:

CRC-32 Hash Code Calculator

Cyclic Redundancy Check (CRC) è un codice di rilevamento degli errori comunemente utilizzato per rilevare modifiche accidentali ai dati grezzi. Sebbene non sia tecnicamente una funzione hash crittografica, CRC-32 è spesso definito hash per la sua capacità di produrre un output di dimensione fissa (32 bit) da un input di lunghezza variabile.

Informazioni complete: non ho scritto l'implementazione specifica della funzione hash utilizzata in questa pagina. Si tratta di una funzione standard inclusa nel linguaggio di programmazione PHP. Ho solo creato l'interfaccia web per renderla pubblicamente disponibile qui per comodità.


Calcolo del nuovo codice Hash

I dati inviati o i file caricati tramite questo modulo saranno conservati sul server solo per il tempo necessario a generare il codice hash richiesto. Verranno cancellati immediatamente prima che il risultato venga restituito al browser.

Dati di ingresso:



Il testo inviato è codificato in UTF-8. Poiché le funzioni hash operano su dati binari, il risultato sarà diverso da quello ottenuto se il testo è in un'altra codifica. Se è necessario calcolare un hash di un testo in una codifica specifica, è necessario caricare un file.



Informazioni sull'algoritmo hash CRC-32

Non sono un matematico, ma proverò a spiegare questa funzione hash con una semplice analogia. A differenza di molte delle funzioni hash crittografiche, non è un algoritmo particolarmente complicato, quindi probabilmente andrà bene ;-)

Immagina di inviare una lettera per posta, ma temi che possa danneggiarsi prima di arrivare al destinatario. In base al contenuto della lettera, calcoli un checksum CRC-32 e lo scrivi sulla busta. Quando il destinatario riceve la lettera, può anche calcolare il checksum e vedere se corrisponde a quanto hai scritto. In caso affermativo, la lettera non è stata danneggiata o modificata durante il tragitto.

Il modo in cui CRC-32 lo fa è un processo in quattro fasi:

Passaggio 1: aggiungere un po' di spazio extra (imbottitura)

  • Il CRC aggiunge un po' di spazio extra alla fine del messaggio (come quando si imballano le arachidi in una scatola).
  • Ciò aiuta a individuare più facilmente gli errori.

Fase 2: Il righello magico (il polinomio)

  • Il CRC-32 utilizza uno speciale "righello magico" per misurare i dati.
    • Immagina questo righello come uno schema di rilievi e scanalature (questo è il polinomio, ma non preoccuparti di questa parola).
    • Il "righello" più comune per CRC-32 è uno schema fisso.

Fase 3: Spostamento del righello (Processo di divisione)

  • Ora CRC fa scorrere il righello sul messaggio.
    • In ogni punto controlla se le protuberanze e le scanalature sono allineate.
    • Se non sono allineati, il CRC ne prende nota (ciò avviene tramite un semplice XOR, ad esempio accendendo o spegnendo degli interruttori).
    • Continua a far scorrere e a spostare gli interruttori finché non raggiunge la fine.

Fase 4: il risultato finale (il checksum)

  • Dopo aver fatto scorrere il righello sull'intero messaggio, otterrai un piccolo numero (lungo 32 bit) che rappresenta i dati originali.
    • Questo numero è come un'impronta digitale unica per il messaggio.
    • Questo è il checksum CRC-32.

La versione presentata nella pagina è la funzione CRC-32 originale, che è quella da utilizzare per una migliore compatibilità con altri sistemi.

Ho anche delle calcolatrici per le altre varianti:

Condividi su BlueskyCondividi su FacebookCondividi su LinkedInCondividi su TumblrCondividi su XCondividi su LinkedInAggiungi su Pinterest

Mikkel Bang Christensen

Sull'autore

Mikkel Bang Christensen
Mikkel è il creatore e proprietario di miklix.com. Ha oltre 20 anni di esperienza come programmatore di computer/sviluppatore di software ed è attualmente impiegato a tempo pieno in una grande azienda IT europea. Quando non scrive sul blog, dedica il suo tempo libero a una vasta gamma di interessi, hobby e attività, che in qualche modo si riflettono nella varietà di argomenti trattati in questo sito.