crc32

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

crc32Bir dizgenin crc32 çok terimlisini hesaplar

Açıklama

crc32(string$dizge): int

dizge dizgesinin çevrimsel artıklık sağlaması çok terimlisinin sonucunu hesaplar. Bu genellikle aktarılan bir verinin bütünlük doğrulamasını yapmak için kullanılır.

PHP'nin tamsayı türü işaretli olduğundan ve çoğu crc32 sağlaması 32 bitlik platformlarda negatif tamsayılar üretir. işaretsiz crc32 sağlamalarının dizgesel gösterimlerini elde etmek için sprintf() ve printf() işlevlerinde "%u" belirtimini kullanın

Uyarı

PHP'nin tamsayı türü işaretli olduğundan ve çoğu crc32 sağlaması 32 bitlik kurulumlarda negatif tamsayılar üretir. 64 bitlik kurulumlarda ise tüm crc32() sonuçları positif tamsayılardır.

Ondalık biçemdeki işaretsiz crc32() sağlamalarının dizgesel gösterimlerini elde etmek için sprintf() ve printf() işlevlerinde "%u" belirtimi kullanılır.

Sağlama toplamının onaltılık gösterimi için, sprintf() veya printf() işlevinin "%x" biçimlendiricisini veya dechex() dönüştürme işlevlerini kullanabilirsiniz; bunların her ikisi de crc32() sonucunu işaretsiz bir tam sayıya dönüştürmeye özen gösterir.

64 bit kurulumlara sahip olunması durumunda, daha büyük sonuç değerleri için negatif tamsayılar döndürülmesi de düşünüldü, ancak bu onaltılık değer dönüştürmeyi bozacaktı, çünkü bu takdirde negatif değerler fazladan 0xFFFFFFFF ######## başlangıcı elde edecekti. Onaltılık gösterim en yaygın kullanım durumu gibi göründüğünden, 32 bitten 64 bite geçiş, doğrudan ondalık karşılaştırmaların yaklaşık %50'sini bozsa bile negatif tamsayılar döndürmemeye karar verdik.

Geçmişe bakıldığında, işlevin bir tamsayı döndürmesi belki en iyi fikir değildi ve hemen onaltılık bir dize gösterimi döndürmek (md5()'in yaptığı gibi), başlangıç için daha iyi bir plan olabilirdi.

Daha taşınabilir bir çözüm için hash() işlevini de düşünebilirsiniz. hash("crc32b", $str) kodu ile, str_pad(dechex(crc32($str)), 8, '0', STR_PAD_LEFT) kodu aynı dizeyi döndürür.

Bağımsız Değişkenler

dizge

Veri.

Dönen Değerler

dizge dizgesinin crc32 sağlamasını bir tamsayı olarak döndürür.

Örnekler

Örnek 1 - Bir crc32 sağlamasının gösterilmesi

Bu örnekte sağlama toplamını basmak için printf() işlevinin kullanımı gösterilmiştir.

<?php
$checksum
= crc32("The quick brown fox jumped over the lazy dog.");
printf("%u\n", $checksum);
?>

Ayrıca Bakınız

  • hash() - Bir ileti aşı üretir
  • md5() - Bir dizgenin md5 özetini hesaplar
  • sha1() - Bir dizgenin sha1 aşını hesaplar
To Top