Os exemplos abaixo descrevem uma abordagem para aplicação do algoritmo Luhn em dois ISINs diferentes. A diferença nos dois exemplos tem a ver com se há um número ímpar ou par de dígitos após a conversão de letras para número. Como o elemento NSIN pode ser qualquer sequência alfanumérica (9 caracteres), um número ímpar de letras resultará num número par de dígitos e um número par de letras resultará num número ímpar de dígitos. Para um número ímpar de dígitos, é utilizada a abordagem do primeiro exemplo. Para um número par de dígitos, é utilizada a abordagem do segundo exemplo. O algoritmo Luhn também pode ser aplicado da mesma maneira para ambos os tipos ou comprimentos (alternando multiplicar a string de dígitos por 1 e 2, começando do final da string), sendo mais genérico.
Apple, Inc.
Apple, Inc.: ISIN US0378331005, expandido da CUSIP 037833100 O corpo principal da ISIN é a CUSIP original, atribuída na década de 1970. O código do país “US” foi adicionado na frente, e um dígito de verificação adicional no final. O código do país indica o país de emissão. O dígito de verificação é calculado usando o algoritmo Luhn.
Converter quaisquer letras para números:
U = 30, S = 28. US037833100 -> 30 28 037833100
Colher caracteres pares e ímpares:
3028037833100 = (3, 2, 0, 7, 3, 1, 0), (0, 8, 3, 8, 3, 0)
Multiplicar o grupo contendo o caracter mais à direita (que é o PRIMEIRO grupo) por 2:
(6, 4, 0, 14, 6, 2, 0)
Adicionar os dígitos individuais:
(6 + 4 + 0 + (1 + 4) + 6 + 2 + 0) + (0 + 8 + 3 + 8 + 3 + 0) = 45
Tirar o módulo 10s da soma:
45 mod 10 = 5
Subtrair de 10:
10 – 5 = 5
Tirar o módulo 10s do resultado (este passo final é importante no caso em que o módulo da soma é 0, pois o dígito de verificação resultante seria 10).
5 mod 10 = 5
Então o dígito de verificação ISIN é 5.
Treasury Corporation of Victoria
TREASURY CORP VICTORIA 5 3/4% 2005-2016: ISIN AU0000XVGZA3. O dígito de verificação é calculado usando o algoritmo Luhn.
Converter quaisquer letras para números:
A = 10, G = 16, U = 30, V = 31, X = 33, Z = 35. AU0000XVGZA -> 10 30 0000 33 31 16 35 10.
Colar caracteres pares e ímpares:
103000003331163510 = (1, 3, 0, 0, 0, 3, 3, 1, 3, 1), (0, 0, 0, 0, 0, 3, 1, 6, 5, 0)
Multiplicar o grupo contendo o caractere mais à direita (que é o SEGUNDO grupo) por 2:
(0, 0, 0, 0, 0, 6, 2, 12, 10, 0)
Adicionar os dígitos individuais:
(1 + 3 + 0 + 0 + 3 + 3 + 1 + 3 + 1) + (0 + 0 + 0 + 0 + 0 + 6 + 2 + (1 + 2) + (1 + 0) + 0) = 27
Toma o módulo 10s da soma:
27 mod 10 = 7
Subtrair de 10:
10 – 7 = 3
Tirar o módulo 10s do resultado (esta etapa final é importante no caso em que o módulo da soma é 0, pois o dígito de verificação resultante seria 10).
3 mod 10 = 3
Então o dígito de verificação ISIN é 3.
BAE Systems
BAE Systems: ISIN GB0002634946, expandido de SEDOL 000263494
O corpo principal é o SEDOL, acolchoado na frente com a adição de dois zeros. O código do país “GB” é então adicionado na frente, e o dígito de controle no final como no exemplo acima.