RIB

En France, le RIB se compose de 23 chiffres ou lettres :

Pour vérifier qu'un RIB a été saisi sans erreur, il suffit, en théorie, de substituer à chaque lettre un chiffre selon le tableau suivant avant de calculer le modulo 97 du nombre (composé de 23 chiffres) qui doit être égal à 0.

Valeur 1234 5678 9
LettreABCDEF GHI
LettreJKLMNO PQR
LettreSTUVWX YZ

Si vous disposez d'un microprocesseur 64 bits avec l'environnement qui va bien, pas de soucis, vous pourrez calculer N (sur 23 chiffres) mod 97. Pour les autres cas, majoritaires, vous trouverez principalement deux méthodes de calcul sur le Net :

Les coefficients sont simples à retrouver. Avec la première formule, notons la banque A, le guichet B, le compte C et la clé D :

N = 10^18 x A + 10^13 x B + 10^2 x C + D

On peut alors distribuer le modulo : par exemple 10^13 = n x 97 + 15 donc 10^13 x B mod 97 = (15 x B) mod 97.

La première méthode fait calculer, pour C, un modulo sur un nombre à 39 bits (valeur maximale = 10^12 - 1) : si le calcul est réalisé en 32 bits, le résultat sera faux pour des numéros de comptes grands... et en 64 bits, on peut calculer directement le modulo ! Quant à la seconde, elle est sérieuse.

Une autre méthode est facile à implémenter. On choisit d'abord avec combien de chiffres on travaille puis on découpe le nombre en paquets de cette taille. A chaque étape, on calcule le modulo 97 du résultat précédent concaténé au paquet courant. Voici un exemple avec le RIB

20041 01005 0500013M026 06

Le nombre correspondant est 20041010050500013402606, voici le déroulement de l'algorithme :

2004mod 97 = 64
641010mod 97 = 34
340505mod 97 = 35
350001mod 97 = 25
253402mod 97 = 38
38606mod 97 = 0
Pour tester un RIB, saisissez dans le formulaire suivant ses 23 caractères :

IBAN

Je me suis renseigné sur l'IBAN le jour où j'ai acheté des marchandises sur un site allemand qui ne prennait pas les cartes de crédit internationales. L'IBAN qu'il m'avait communiqué pour un virement était incorrect : j'ai pu trouver qu'en fait ils avaient oublié des 0...

IBAN signifie International Bank Account Number : il est aujourd'hui reconnu sur toute la planète. Il est composé de 2 caractères identifiant le pays, puis 3 à 32 caractères identifiant le compte dans le pays. La longueur est fixée pour chaque pays : 27 caractères pour la France, 20 pour le Luxembourg, 22 pour l'Allemagne, ... En général, l'IBAN est formé de l'indicatif du pays, d'un code pour satisfaire les contrôles décrits plus bas, et du RIB national. En France, les IBAN sont donc de la forme FR76 + RIB complet avec sa clé. L'ECBS recommande de les écrire par paquets de 4 caractères séparés pas des espaces.

Pour contrôler la validité d'un IBAN, on va :

  1. passer les 4 premiers caractères à droite
  2. remplacer chaque lettre par un nombre (A devient 10, ..., Z devient 36) : la chaîne de 5 à 34 caractères devient un nombre de 5 à 68 chiffres
  3. calculer le modulo 97 qui doit être égal à 1
Donc pour l'IBAN FR14 2004 1010 0505 0001 3M02 606, l'étape 1 donne la chaîne 20041010050500013M02606FR14 et l'étape 2 le nombre 200410100505000132202606152714. Le modulo 97 de ce nombre est 1, l'IBAN est donc mathématiquement valide. Vous pouvez tester un IBAN dans le formulaire suivant :

Retour