Добро пожаловать на форум PHP программистов!
За последние 24 часа нас посетили 17946 программистов и 1567 роботов. Сейчас ищут 958 программистов ...
Приступая к работе

crc32 - Вычисляет полином CRC32 для строки

Вернуться к: Обработка строк

crc32

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

crc32Вычисляет полином CRC32 для строки

Описание

int crc32 ( string $str )

Функция вычисляет циклический избыточный код 32-битных полиномов (CRC32) для строки str. Это обычно используется для контроля целостности передаваемых данных.

Внимание

В PHP целые числа имеют знак, поэтому многие контрольные суммы могут оказаться отрицательными на 32-битных платформах. На 64-битных платформах все результаты crc32() будут положительными целыми.

Поэтому вам нужно использовать формат "%u" в функциях sprintf() или printf() для получения строкового представления суммы crc32() без знака.

Для шестнадцатеричного представления суммы вы можете использовать или формат "%x" в функциях sprintf() и printf(), или же функцию конвертации dechex(). Оба этих способа также позаботятся о конвертации результата crc32() в беззнаковое целое.

При использовании 64-битных платформ также возвращаются также рассматривалась возможность возвращать отрицательные целые для больших значений, но это ломало шестнадцатеричное представление, добавляя дополнительные 0xFFFFFFFF######## смещения для них. Так как шестнадцатеричное представление является самым востребованным, было решено не ломать его, даже если это ломает прямое сравнение десятеричных значений в 50% случаев при переходе с 32-битных на 64-битные платформы.

Оглядываясь назад, возможно возвращать целое число было не самой лучшей идеей и лучше было возвращать сразу шестнадцатеричное представление (как например делает md5()).

Можно воспользоваться также более общим решением с использованием функции hash(). hash("crc32b", $str) вернет ту же строку, что и dechex(crc32($str)).

Список параметров

str

Данные.

Возвращаемые значения

Возвращает контрольную сумму crc32 строки str в виде целого числа.

Примеры

Пример #1 Вывод контрольной суммы CRC32

Этот пример иллюстрирует вывод вычисленной контрольной суммы с помощью функции printf():

<?php
$checksum 
crc32("Быстрый коричневый лис перепрыгнул через ленивую собаку.");
printf("%u\n"$checksum);
?>

Смотрите также

  • hash() - Генерирует хеш-код (дайджест сообщения)
  • md5() - Возвращает MD5-хэш строки
  • sha1() - Возвращает SHA1-хэш строки



Вернуться к: Обработка строк

© 2024 «PHP.RU — Сообщество PHP-Программистов»
Главная | Форум | Реклама на сайте | Контакты VIP Сувениры
Разработка компании ODware