Etiquetas

C (31) Cpp (28) Linux (14) asm (8) Telegram (5) bot (5) libreria (5) Algoritmo (3) Errores comunes (3) python (3) Opengl (2) kali (2) Android (1) Snippet (1) nano (1) recursividad (1)

lunes, 13 de noviembre de 2023

[C] Conversion de 16 a 32 bits

 Este codigo no es de mi autoría. Procede del foro Hackxcrack.net

#include<stdio.h>
unsigned short CRC(unsigned char *s, int len, unsigned short crcval);
     
int main(){
unsigned char *test="\x01\x55\x00\x00";
printf("CRC: %u\n",CRC(test,4,0));
return 0;}
     
unsigned short CRC(unsigned char *s, int len, unsigned short crcval){
register unsigned c,q;
for (;len;len--){
c=*s++;q=(crcval^c)&017;

crcval=(crcval>>4)^(q*010201);
q=(crcval^(c>>4))&017;
crcval=(crcval>>4)^(q*010201);}
return (crcval);}

//010201 es octal
//017 tambien

No hay comentarios.:

Publicar un comentario