Comment calculer le crc en 32 bits ?

Description

Voici une classe permettant de calculer le crc d'un buffer de données en 32 bits. Simple d'utilisation, je l'ai construite de façon que les débutants puissent l'utiliser sans difficultés. Il suffit d'initialiser l'objet grâce à la méthode 'Init()' qui remplit un tableau permettant de gagner en temps machine, elle prend en paramètre le Polynome sous forme d' ULONG. Ensuite, il faut appeler la méthode 'GetCrc32()' pour récupérer le crc en ULONG.

Source / Exemple :


#include "Crc32.h"

int main(int argc, char *argv[])
{
	// objet Crc32
	Crc32	crc32;		
	
	// variable recevant le crc
	ULONG	Crc32;		

	// buffer des données
	char	buffer[] = "AZSEDV356484JF9O5?FPP4?ZYB2YUDNFIBLHPVN";

	/* Initialisation de la table de l'objet Crc32,
	le paramètre est le polynome à utiliser :
		
		- CRC32_POLY_CCITTV41		
		- CRC32_POLY_CRC16
		- CRC32_POLY_CRC12
		- CRC32_POLY_ARPA
		- CRC32_POLY_ETHERNET
		- CRC32_POLY_WINZIP

	Retourne 'false' si le polynome est invalide */

	if (!crc32.Init( CRC32_POLY_CCITTV41 ))
	{
		printf( "crc32.Init() : Erreur !\n" );
		return 0;
	}
	
	/* calcul du crc en 32 bits, le premier paramètre est un pointeur sur les données,
	 le second est la taille des données.	
	Retourne 0 si les paramètres sont invalides */

	Crc32 = crc32.GetCrc32( buffer, 39 );

	// affichage du crc
	printf( "crc32 = %d\n", Crc32 );
	
	return 0;
}

Conclusion :


Aucuns bugs connus !!!

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.