begin process at 2013 05 25 09:56:26
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caractères

 > CALCUL DE CLEF RIB

CALCUL DE CLEF RIB


 Information sur la source

Note :
3 / 10 - par 1 personne
3,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Chaîne de caractères Classé sous :RIB, clef, clé, calcul, atoln Niveau :Débutant Date de création :15/02/2012 Date de mise à jour :15/02/2012 11:04:11 Vu :3 357

Auteur : Renfield

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note


 Description

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

  • 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;
  • }
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


 Historique

15 février 2012 11:04:11 :
suppression de itoa

 Sources du même auteur

COMPTER LE NOMBRE DE PAGES D'UN FICHIER PDF
Source avec Zip HOOK DLL - LE HOOK FACILE (POUR VB6)

 Sources de la même categorie

EVALUATION D'UNE CHAÎNE DE CARACTÈRES AVEC UN ARBRE BINAIRE par pabbati
Source avec Zip DICTIONNAIRE DANS UN ARBRE BINAIRE par pabbati
Source avec Zip [C] WD_STRING V2.2 par cyberripper
Source avec Zip LES STRING EN C, AFFECTATION, CONCATÉNATION, SPLIT, ... par appranting
Source avec Zip [C] WD_STRING V1.9 par cyberripper

 Sources en rapport avec celle ci

CALCUL DE PI AVEC LA BIBLIOTHÈQUE GMP par lann
Source avec une capture CONVERTISSEUR par smartties
Source avec une capture CALCUL DE VARIANCE par Minilogus
Source avec Zip TABLE DE HASHAGE [TS ENVTS] par magic_Nono
DETERMINATION DE CLÉ RSA par Sensei01

Commentaires et avis

Commentaire de khakech le 18/02/2012 19:30:08 3/10

bon continuation mec.

Commentaire de ccgousset le 06/03/2012 16:54:39

itoa a ne pas utiliser car le radix piquotte la langue .... A plus.

Commentaire de Renfield le 07/03/2012 10:02:30 administrateur CS

il n'y a pas de itoa ici, doc...

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Clef d'activation [ par Gadji ] Bonjour, J'aimerai limiter l'utilisation de mon programme à une personne par clé mais je ne sais pas comment faire.En fait, une clef serait associé à Nombre de clé dans une section - fichier ini [ par romauto750 ] Bonjour,j'aurai aimé savoir s'il était possible de savoir le nombre de clés dans une section dans un fichier .ini.Exemple, pour ce fichier .ini[Test]c Ajouter mon appli au démarrage de Windows [ par fregolo52 ] Bonjour,Je fais une appli où je peux configurer le démarrage manual ou automatique.J'utilise donc la base de registre.Voici mon code : // situation de Conversion d'entier en base 2^32 vers base 10 [ par le_duche ] Bonjour !Je chercher je cherche, mais je ne trouve pas d'idée.Dans le cadre de l'implémentation d'une classe de grands entiers, je souhaite pouvoir co Calcul période sinus sur Pic [ par spiderloic74 ] <meta name="CREATED" content="20080904;83 math calcul formel [ par yvessimon ] yvessimon Visual c++ sur clé usb [ par jb212121 ] Bonjour,J'aimerai savoir si il existe un moyen de mettre visual c++ sur clé usb Merci Petit problème API Windows [ par TCHATTE ] Bonjour,je suis en train d'essayer d'apprendre comment fonctionne l'api windows ... j'ai a peu près compris comment afficher tout ce que je veux par c Calcul d'une puissance en C avec pow() [ par Smallstones2 ] Bonjour, pourriez vous m'aider. Voici mon programme mais celui ci ne marche pas: #include #include main () { float x, y,z; printf ("Entrez x : " clé RLMC [ par dex19 ] COMMENT CALCULER LA CLE RLMC DES PISTE DE CHEQUES


Nos sponsors


Sondage...

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales