Calcul de clef rib

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 669 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
71
7 mars 2012 à 10:02
il n'y a pas de itoa ici, doc...
ccgousset
Messages postés
148
Date d'inscription
samedi 1 août 2009
Statut
Membre
Dernière intervention
18 août 2021

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.