Les exemples ci-dessous décrivent une approche pour appliquer l’algorithme de Luhn sur deux ISIN différents. La différence dans les deux exemples concerne le fait de savoir s’il existe un nombre pair ou impair de chiffres après la conversion des lettres en chiffres. Étant donné que l’élément NSIN peut être n’importe quelle séquence alphanumérique (9 caractères), un nombre impair de lettres donnera un nombre pair de chiffres et un nombre pair de lettres donnera un nombre impair de chiffres. Pour un nombre impair de chiffres, l’approche du premier exemple est utilisée. Pour un nombre pair de chiffres, on utilise l’approche du deuxième exemple. L’algorithme de Luhn peut également être appliqué de la même manière pour les deux types ou longueurs (multiplier alternativement la chaîne de chiffres par 1 et 2, en commençant par la fin de la chaîne), étant plus générique.
Apple, Inc.
Apple, Inc : ISIN US0378331005, étendu à partir du CUSIP 037833100Le corps principal de l’ISIN est le CUSIP original, attribué dans les années 1970. Le code pays « US » a été ajouté au recto, et un chiffre de contrôle supplémentaire à la fin. Le code pays indique le pays d’émission. Le chiffre de contrôle est calculé en utilisant l’algorithme de Luhn.
Convertissez toutes les lettres en chiffres:
U = 30, S = 28. US037833100 -> 30 28 037833100
Collecter les caractères pairs et impairs :
3028037833100 = (3, 2, 0, 7, 3, 1, 0), (0, 8, 3, 8, 3, 0)
Multiplier le groupe contenant le caractère le plus à droite (qui est le PREMIER groupe) par 2:
(6, 4, 0, 14, 6, 2, 0)
Ajouter les chiffres individuels :
(6 + 4 + 0 + (1 + 4) + 6 + 2 + 0) + (0 + 8 + 3 + 8 + 3 + 0) = 45
Prendre le module 10s de la somme:
45 mod 10 = 5
Soustraire de 10 :
10 – 5 = 5
Prendre le module 10s du résultat (cette étape finale est importante dans le cas où le module de la somme est 0, car le chiffre de contrôle résultant serait 10).
5 mod 10 = 5
Donc le chiffre de contrôle ISIN est cinq.
Treasury Corporation of Victoria
TREASURY CORP VICTORIA 5 3/4% 2005-2016 : ISIN AU0000XVGZA3.Le chiffre de contrôle est calculé à l’aide de l’algorithme de Luhn.
Convertir n’importe quelles lettres en chiffres:
A = 10, G = 16, U = 30, V = 31, X = 33, Z = 35. AU0000XVGZA -> 10 30 0000 33 31 16 35 10.
Collectionner les caractères pairs et impairs:
103000003331163510 = (1, 3, 0, 0, 3, 3, 1, 3, 1), (0, 0, 0, 0, 3, 1, 6, 5, 0)
Multiplier par 2 le groupe contenant le caractère le plus à droite (qui est le SECOND groupe) :
(0, 0, 0, 0, 6, 2, 12, 10, 0)
Ajoutez les chiffres individuels :
(1 + 3 + 0 + 0 + 3 + 3 + 1 + 3 + 1) + (0 + 0 + 0 + 0 + 6 + 2 + (1 + 2) + (1 + 0) + 0) = 27
Prendre le module 10s de la somme:
27 mod 10 = 7
Soustraire de 10 :
10 – 7 = 3
Prendre le module 10s du résultat (cette étape finale est importante dans le cas où le module de la somme est 0, car le chiffre de contrôle résultant serait 10).
3 mod 10 = 3
Donc le chiffre de contrôle ISIN est trois.
BAE Systems
BAE Systems : ISIN GB0002634946, développé à partir du SEDOL 000263494
Le corps principal est le SEDOL, complété au recto par l’ajout de deux zéros. Le code pays « GB » est ensuite ajouté au recto, et le chiffre de contrôle à la fin, comme dans l’exemple ci-dessus.