- Clé rib
-
Clé RIB
La clé RIB (RIB = Relevé d'identité bancaire) est constituée de 2 chiffres entre 01 et 97 qui complètent un numéro de compte bancaire. Elle permet, par un algorithme, de vérifier la validité du numéro de compte.
Sommaire
Algorithme de calcul de la clé RIB
Le numéro de compte bancaire au format RIB comporte 23 chiffres et peut se décomposer comme suit :
où B est le code banque, G le code guichet, C le numéro de compte et K la clé RIB.
En réalité, le numéro de compte peut être composé à la fois de chiffres et de lettres. Afin d'appliquer l'algorithme de calcul, il faut donc, le cas échéant, convertir les lettres en chiffres selon la table de correspondance ci-dessous :
1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Alors, la clé K est calculée de telle sorte que le reste de la division entière de R par 97 soit nul et que K soit compris entre 1 et 97, soit :
En particulier, nous avons :
Une formule simple pour calculer K est alors :
Algorithme de calcul qui fonctionne avec des entiers 32 bits
Le nombre qui pose problème est le numéro de compte, qui, à cause de ses onze chiffres, ne loge pas dans un entier 32 bits, encore moins lorsqu'il est multiplié par trois. La solution est de le séparer en deux nombres, le numéro de compte se décompose alors ainsi :
Ainsi, le numéro de compte est décomposé en C et D, ayant respectivement cinq et six chiffres. La formule devient alors :
La formule simple pour calculer K devient :
Elle est calculable à l'aide du type entier le plus courant dans nos systèmes actuels, c'est-à-dire l'entier 32 bits. Une implémentation en C serait :
int cle_RIB(int b, int g, int d, int c) { return 97 - ((89 * b + 15 * g + 76 * d + 3 * c) % 97); }
Vérifier un RIB avec une formule Excel
Avec la liste des chiffres du RIB écrite en A1 (avec ou sans la clé elle-même : 21 ou 23 caractères indifféremment) :
=97-MOD(CONCATENER(MOD(CONCATENER(MOD(STXT(A1;1;7);97);STXT(A1;8;8));97);STXT(A1;16;6))&"00";97)
Liens externes
Catégorie : Système bancaire
Wikimedia Foundation. 2010.