Функция PHP crc32() на серваке возвращает совершенно другие значения - VB

Узнай цену своей работы

Формулировка задачи:

не знал куда закинуть вопрос - это касается 2 языков проблема в следующем - функция PHP crc32() на серваке возвращает совершенно другие значения, чем тот же подсчет суммы, только на VB (глюков нет на 10000%, перепробовал 6 разных способов) уже на локальной машине тех же самых файлов. Выборочно crc 4 фоток - PHP: 1190633355 22537563 1010289899 -1911090949 те же фотки, но VB: 603184893 944552721 -740024075 -1103042136 КТО ПОДСКАЖЕТ, В КАКУЮ СТОРОНУ КОПАТЬ? Конвертации HEX-BIN-OCT-DEC перепробованы, результат - нулевой. И еще - как СУММА может быть отрицательной?

Решение задачи: «Функция PHP crc32() на серваке возвращает совершенно другие значения»

textual
Листинг программы
//===================================
#include"&crc.h"
 
C_CRCcounter::C_CRCcounter()
{
unsigned long CRC_POLY = 0x047B62D5, c, i, j;
for (i = 0; i < 256; i++)
    {
    for (c = i << 24, j = 8; j > 0; j--)
        c = c & 0x80000000 ? (c << 1) ^ CRC_POLY : (c << 1);
    crc_table[i] = c;
    }
}
 
C_CRCcounter::~C_CRCcounter(){}
 
unsigned long
C_CRCcounter::GetCRC32(unsigned char *buf, unsigned long len)
{
unsigned long sum;
unsigned char *p;
sum = 0xFFFFFFFF;
for (p = buf; len > 0; p++, len--)
    sum = (sum << 8) ^ crc_table[(sum >> 24) ^ *p];
return(~sum);
}
//===================================

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы