Como obter o número completo do cartão de crédito usando os últimos quatro dígitos
Você não pode. O último dígito de um número de cartão de crédito é um dígito de verificação dependente dos valores dos 15 números anteriores nessa ordem específica, é impossível extrapolar os doze dígitos anteriores a partir dos últimos quatro.
Esta é a forma como uma página web pode dizer se você digitou um número de cartão de crédito antes de tentar transmiti-lo ao servidor. O script lateral do navegador pode validá-lo primeiro. Ele roda através do mesmo algoritmo de validação e compara o resultado esperado com o último dígito. O erro habitual é que o usuário inadvertidamente trocou dois dos dígitos redondos, neste caso o último dígito do cartão agora estará 'errado', e a página destacará o número do cartão de crédito como sendo inválido.
Se os caracteres do cartão de crédito estiverem em um array de char[16], txtchr então o seguinte código C# irá validá-lo.
- int chksum = 0;
- for (int i = 0; i < 16; i++)
- chksum += ((i % 2) == 1) ? txtchr[i] - '0' : ((txtchr[i] - '0') * 2) / 10 + ((txtchr[i] - '0') * 2) % 10;
If chksum is divisible by 10:
- if(chksum % 10 == 0)
then the card number is valid.
>sim como um número de cartão autônomo. Em seguida, tem de ser validado em relação aos dados do fornecedor emissor; (tal como se encontra nos primeiros seis dígitos); o nome exacto, a data de validade e o número CVV também têm de estar correctos.
Artigos semelhantes
- E se alguém souber os últimos quatro dígitos do meu cartão?
- Quantos números de 3 dígitos com combinações únicas dos 3 dígitos existem entre 000 e 999?
- Um cadeado contém 5 dígitos no seu código. Quantos códigos podem ser formados se todos os dígitos forem diferentes?
- Código de 6 dígitos - dígitos 0-9. Quantas combinações podem ser feitas?