काम नहीं करता है मुझे इंटरनेट पर यह सीआरसी 32 कार्यान्वयन मिला, थोड़ा सा बदल गया, लेकिन मैं इसे काम नहीं कर सकता। मैं इसे प्रारंभ और हर बाइट मैं इनपुट से मिलता है पर इसे अद्यतन, लेकिन हैश मैं यह क्या किया जाना चाहिए ...सीआरसी 32 सी कार्यान्वयन -
typedef struct {
unsigned short xor;
} xor_context;
void crc32_init(crc32_context *context) {
context->crc = 0xFFFFFFFF;
}
void crc32_update(crc32_context *context, unsigned char byte) {
uint32_t crc, mask;
crc = context->crc;
crc = crc^byte;
for (int j = 7; j >= 0; j--) { // Do eight times.
mask = -(crc & 1);
crc = (crc >> 1)^(0xEDB88320 & mask);
}
context->crc = ~crc;
}
यह एक मूल
unsigned int crc32b(unsigned char *message) {
int i, j;
unsigned int byte, crc, mask;
i = 0;
crc = 0xFFFFFFFF;
while (message[i] != 0) {
byte = message[i]; // Get next byte.
crc = crc^byte;
for (j = 7; j >= 0; j--) { // Do eight times.
mask = -(crc & 1);
crc = (crc >> 1)^(0xEDB88320 & mask);
}
i = i + 1;
}
return ~crc;
}
यह बदलें नहीं है तब? – Persixty
भी काम नहीं करेगा, मैंने कोशिश की है – kiro135
क्या आप सुनिश्चित हैं कि बहुपद सही है? – fuz