Calcul de clef rib

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 043 fois - Téléchargée 21 fois

Contenu du snippet

Bonjour,

Cette petite source vous permettra de calculer une clé RIB

En entrée, vous transmettez un pointeur de chaine
21 caractères minimum, le RIB fourni peut contenir la clé, elle ne sera pas touchée ni vérifiée...

en sortie, renvoie 1 si le calcul a eu lieu, et dans la chaine (3 caractères minimum) pointée par le second argument, on place... la clé

Source / Exemple :


long atoln(int n, const char* s) {
	long v=0;
	char* p = s;
	while(n-->0)
		v = v*10 + *(p++)-'0';
	return v;
}

unsigned int computeRIBkey(char* s, char* key) {
	int i;
	char r[21];

	if (!s || !key)
		return 0;

	for (i=0; i<21; i++)
		if(s[i]>='0' && s[i]<='9')
			r[i] = s[i];
		else if(s[i]>='a' && s[i]<='z')
			r[i] = '1' + (s[i]-'a')%9;
		else if(s[i]>='A' && s[i]<='Z')
			r[i] = '1' + (s[i]-'A')%9;
		else
			return 0;

	i = 97-((89*atoln(5, r) + 15*atoln(5, r+5) + 3*atoln(11, r+10))%97);
	if (i<10)
		key[0] = '0';
	else
		key[0] = '0'+i/10;
	key[1] = '0'+i%10;
	key[2] = 0;
	return 1;
}

Conclusion :


Après avoir beaucoup utilisé ce site, j'ai piqué la formule ici :
http://marlot.org/util/calcul-de-la-cle-rib.php

A voir également

Ajouter un commentaire Commentaires
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 75
7 mars 2012 à 10:02
il n'y a pas de itoa ici, doc...
ccgousset Messages postés 150 Date d'inscription samedi 1 août 2009 Statut Membre Dernière intervention 4 mars 2023
6 mars 2012 à 16:54
itoa a ne pas utiliser car le radix piquotte la langue .... A plus.
khakech Messages postés 15 Date d'inscription lundi 25 décembre 2006 Statut Membre Dernière intervention 21 février 2009
18 févr. 2012 à 19:30
bon continuation mec.

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.