PHP CRCTOP 10 -funksjon

PHP CRCTOP 10 -funksjon
Dataintegritet er en veldig viktig faktor når dataene overføres fra et sted til et annet. Mange innebygde funksjoner finnes i PHP for å opprettholde dataintegriteten. Noen av dem er CRC32 (), SHA1 (), MD5 (), etc. Alle disse funksjonene brukes til å generere en hasjverdi basert på en bestemt algoritme. CRC32 () -funksjonen returnerer 32-biters CRC (Cyclic Redundancy Checksum) polynomverdi av strengen for å sjekke dataintegriteten. Den bruker CRC32 -algoritmen for å bekrefte dataintegriteten ved å sjekke kildedata og overførte data. “%U” -spesifikatoren er nødvendig for å skrive ut utgangen fra CRC32 () -funksjonen. De forskjellige bruken av CRC32 () -funksjonen og forskjellen mellom andre hashfunksjoner vises i denne opplæringen.

Syntaks:

int crc32 (streng $ streng)

Funksjonen har bare ett argument som brukes til å generere CRC32 -sjekksum og returnerer en heltallverdi.

Ulike eksempler på CRC32 () -funksjon

De forskjellige bruken av CRC32 () -funksjonen vises i denne delen av opplæringen ved hjelp av flere eksempler.

EKSEMPEL 1: Skriv ut CRC32 sjekksumverdi uten "%u"

CRC32 () -funksjonen genererer et positivt heltall for 64-biters datamaskin og et negativt heltall for 32-bits datamaskin. Opprett en PHP -fil med følgende skript som skriver ut sjekkverdien som genereres av CRC32 () -funksjonen og skriv ut sjekkverdien uten noen spesifikasjon.

// definere en strengverdi
$ streng = "Velkommen til Linuxhint";
ekko "Den originale strengen: $ streng.
";
// Beregn sjekksumverdien
$ checksum = crc32 ($ streng);
// Skriv ut kontrollsummen
ekko "Kontrollsumverdien til strengen er $ sjekksum.";
?>

Produksjon:

Følgende utgang vises etter å ha utført forrige skript. En positiv heltallverdi genereres for strengverdien:

Eksempel 2: Skriv ut CRC32 sjekksumverdi med “%u”

Spesifikasjonen “%U” brukes i Sprintf () eller Printf () -funksjonen for å skrive ut sjekksumverdien som genereres av CRC32 () i desimalformatet. Opprett en PHP -fil med følgende skript som skriver ut sjekkverdien som genereres av CRC32 () -funksjonen og "%u" -spesifikasjonen brukes i printf () -funksjonen.

// definere en strengverdi
$ streng = "PHP -programmering";
ekko "Den originale strengen: $ streng.
";
// Beregn sjekksumverdien
$ checksum = crc32 ($ streng);
// Skriv ut kontrollsummen
printf ("Kontrollsumverdien til strengen er %u.", $ checksum);
?>

Produksjon:

Følgende utgang vises etter å ha utført forrige skript. En positiv heltallverdi genereres for strengverdien:

Eksempel 3: Sammenlign utgangen fra CRC32 () og SHA1 () funksjoner

SHA1 () er en nyttig funksjon av PHP for å generere hasjverdien til de aktuelle strengdataene. Denne funksjonen returnerer 40 tegn lang heksadesimal verdi av strengdataene hvis ingen valgfritt argument for SHA1 () -funksjonen brukes og den returnerer 20 tegn lang rå binærverdi hvis ekte brukes i det valgfrie argumentet. Lag en PHP -fil med følgende skript som skriver ut sjekkverdien som genereres av CRC32 () -funksjonen og hashverdien som genereres av SHA1 () -funksjonen:

// definere en strengverdi
$ streng = "PHP er et skriptspråk på serversiden.";
ekko "Den originale strengen: $ streng.
";
// Beregn sjekksumverdien
$ checksum = crc32 ($ streng);
// Skriv ut kontrollsummen
ekko "CRC32 () -verdien til strengen er $ sjekksum.
";
// generere hasjverdien
$ hashValue = sha1 ($ streng);
// Skriv ut den genererte hasjstrengen
ekko "SHA1 () hashverdien til strengen er $ HashValue.
";
?>

Produksjon:

Følgende utgang vises etter å ha utført forrige skript. Her genereres en positiv heltallverdi av CRC32 () -funksjonen og en stor heksadesimal hashverdi genereres av SHA1 () -funksjonen for samme strengverdi.

Eksempel 4: Sammenlign utgangen fra CRC32 () og MD5 () -funksjonene

MD5 () er en annen nyttig funksjon av PHP for å generere hasjverdien til de aktuelle strengdataene. Denne funksjonen returnerer 32 tegn lang heksadesimal verdi av strengdataene hvis ingen valgfritt argument for MD5 () -funksjonen brukes og den returnerer 16 tegn lang rå binærverdi hvis ekte brukes i det valgfrie argumentet. Lag en PHP -fil med følgende skript som skriver ut sjekkverdien som genereres av CRC32 () -funksjonen og hashverdien som genereres av MD5 () -funksjonen for samme strengverdi:

// definere en strengverdi
$ streng = "PHP er et skriptspråk på serversiden.";
ekko "Den originale strengen: $ streng.
";
// Beregn sjekksumverdien
$ checksum = crc32 ($ streng);
// Skriv ut kontrollsummen
ekko "CRC32 () -verdien til strengen er $ sjekksum.
";
// generere hasjverdien
$ hashValue = md5 ($ streng);
// Skriv ut den genererte hasjstrengen
ekko "md5 () hash -verdien av strengen er $ HashValue.
";
?>

Produksjon:

Følgende utgang vises etter å ha utført forrige skript. Her genereres en positiv heltallverdi av CRC32 () -funksjonen og en stor heksadesimal hashverdi genereres av MD5 () -funksjonen for samme strengverdi:

Konklusjon

Ulike måter eksisterer på PHP for å endre de opprinnelige dataene for dataintegritet. CRC32 () er en enkel innebygd funksjon av PHP for å gi dette anlegget. Den returnerer en heltallverdi som en sjekksumverdi av en strengdata. Når det krever å overføre sensitive data på nettet, er det bedre å generere sjekksumverdien til dataene ved å bruke CRC32 () -funksjonen før overføring. Måten å bruke CRC32 () -funksjonen og forskjellene mellom CRC32 () -funksjonen med andre funksjoner som genererer hasjverdien til strengen er forklart i denne opplæringen. Hensikten med å bruke CRC32 () -funksjonen blir fjernet etter å ha lest denne opplæringen.