Calcul de clef rib

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 691 fois - Téléchargée 19 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
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
il n'y a pas de itoa ici, doc...
ccgousset
Messages postés
147
Date d'inscription
samedi 1 août 2009
Statut
Membre
Dernière intervention
5 novembre 2019

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

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.