Segurança Digital

    Validação de Cartão de Crédito: Como Funciona o Algoritmo de Luhn

    Entenda como os números de cartão de crédito são validados, conheça o algoritmo de Luhn, identifique bandeiras e aprenda sobre segurança de pagamentos.

    Equipe Ferramentas Para Tudo20 de março de 202411 min de leitura

    Como Funcionam os Números de Cartão de Crédito

    Os números impressos em cartões de crédito e débito não são aleatórios. Cada dígito tem um significado específico e segue padrões estabelecidos pela indústria financeira internacional. Entender essa estrutura é fundamental para profissionais de TI, segurança da informação e qualquer pessoa curiosa sobre como funcionam os pagamentos digitais.

    Estrutura de um Número de Cartão

    Um número de cartão típico possui entre 13 e 19 dígitos, sendo 16 o mais comum. A estrutura segue o padrão ISO/IEC 7812:

    Composição do Número

    Exemplo: 4532 0123 4567 8901

  1. Primeiro dígito (MII - Major Industry Identifier)
  2. - Identifica o setor da indústria que emitiu o cartão

    - 1-2: Companhias aéreas

    - 3: Viagens e entretenimento (Amex, Diners)

    - 4-5: Bancos e instituições financeiras (Visa, Mastercard)

    - 6: Merchandising e bancos (Discover)

    - 7: Petróleo

    - 8: Telecomunicações

    - 9: Uso nacional

  3. Primeiros 6 dígitos (BIN/IIN - Bank Identification Number)
  4. - Identificam a instituição emissora e a bandeira

    - Determinam o banco, tipo de cartão e país de origem

  5. Dígitos do meio (número da conta)
  6. - Identificam a conta individual do portador

    - Quantidade varia conforme a bandeira

  7. Último dígito (dígito verificador)
  8. - Calculado pelo algoritmo de Luhn

    - Serve para detectar erros de digitação

    Identificação das Bandeiras

    Cada bandeira tem prefixos específicos:

    BandeiraPrefixosDígitos

    Visa413, 16, 19
    Mastercard51-55, 2221-272016
    American Express34, 3715
    Discover6011, 622126-622925, 644-649, 6516-19
    Diners Club36, 38, 300-30514-19
    JCB3528-358916-19
    EloVários prefixos brasileiros16
    Hipercard60628216

    O Algoritmo de Luhn

    O algoritmo de Luhn, também conhecido como "Módulo 10", foi criado por Hans Peter Luhn da IBM em 1954. É usado para validar números de identificação, incluindo cartões de crédito, IMEI de celulares e outros.

    Como Funciona

    O algoritmo verifica se um número é válido seguindo estes passos:

    Passo 1: Começando pelo penúltimo dígito (da direita para esquerda), dobre cada segundo dígito.

    Passo 2: Se o resultado da multiplicação for maior que 9, subtraia 9.

    Passo 3: Some todos os dígitos (os dobrados/ajustados e os não alterados).

    Passo 4: Se a soma for divisível por 10, o número é válido.

    Exemplo Prático

    Validando o número: 4532015112830366

    Número original:

    4 5 3 2 0 1 5 1 1 2 8 3 0 3 6 6

    Aplicando o algoritmo (dobrando alternados da direita):

    • Posição 1 (6): mantém → 6
    • Posição 2 (6): dobra → 12 → 12-9 = 3
    • Posição 3 (3): mantém → 3
    • Posição 4 (0): dobra → 0
    • Posição 5 (3): mantém → 3
    • Posição 6 (8): dobra → 16 → 16-9 = 7
    • Posição 7 (2): mantém → 2
    • Posição 8 (1): dobra → 2
    • Posição 9 (1): mantém → 1
    • Posição 10 (5): dobra → 10 → 10-9 = 1
    • Posição 11 (1): mantém → 1
    • Posição 12 (0): dobra → 0
    • Posição 13 (2): mantém → 2
    • Posição 14 (3): dobra → 6
    • Posição 15 (5): mantém → 5
    • Posição 16 (4): dobra → 8

    Soma: 6+3+3+0+3+7+2+2+1+1+1+0+2+6+5+8 = 50

    50 ÷ 10 = 5 (resto 0) → Número válido!

    Limitações da Validação

    É importante entender o que a validação de Luhn NÃO verifica:

    O que o algoritmo NÃO valida

    • Se o cartão realmente existe
    • Se o cartão está ativo ou vencido
    • Se há saldo ou crédito disponível
    • Se o cartão foi roubado ou cancelado
    • Se o CVV está correto

    A validação de Luhn apenas confirma que o número poderia ser um cartão válido, não que é um cartão funcional.

    Outros Elementos de Segurança

    CVV/CVC (Card Verification Value)

    • Código de 3 dígitos (4 para Amex) no verso do cartão
    • Gerado criptograficamente
    • Não está gravado na tarja magnética
    • Prova posse física do cartão

    Data de Validade

    • Formato MM/AA ou MM/AAAA
    • Cartão expira no último dia do mês indicado
    • Transações online geralmente verificam se não está vencido

    Nome do Titular

    • Nem sempre verificado em transações online
    • Deve corresponder ao registrado no banco emissor

    Chip EMV

    • Padrão de segurança para transações presenciais
    • Gera códigos únicos para cada transação
    • Muito mais seguro que tarja magnética

    Números de Teste para Desenvolvimento

    Para testar sistemas de pagamento em ambiente de desenvolvimento, existem números de teste padronizados:

    BandeiraNúmero de Teste

    Visa4111 1111 1111 1111
    Mastercard5500 0000 0000 0004
    American Express3400 0000 0000 009
    Discover6011 0000 0000 0004

    Importante: Esses números só funcionam em ambientes de teste (sandbox). Nunca funcionarão em produção.

    Segurança em Pagamentos Online

    Para Consumidores

    • Verifique o cadeado (HTTPS) no navegador
    • Não salve dados do cartão em sites desconhecidos
    • Use cartões virtuais quando possível
    • Monitore o extrato regularmente
    • Ative notificações de transações

    Para Desenvolvedores

    • Nunca armazene números completos de cartão
    • Use gateways de pagamento certificados (PCI DSS)
    • Tokenize dados sensíveis
    • Implemente 3D Secure quando possível
    • Valide entrada do usuário (formato, Luhn)

    Fraudes Comuns

    Skimming

    Dispositivos instalados em caixas eletrônicos ou maquininhas que copiam dados da tarja magnética.

    Phishing

    Sites falsos que imitam lojas ou bancos para capturar dados do cartão.

    Engenharia Social

    Golpistas se passando por funcionários de banco para obter informações.

    Vazamento de Dados

    Ataques a lojas virtuais que armazenam dados de cartão de forma insegura.

    Conclusão

    Entender como funcionam os números de cartão de crédito e sua validação é importante tanto para profissionais de tecnologia quanto para consumidores conscientes. O algoritmo de Luhn é apenas a primeira camada de verificação, mas é fundamental para detectar erros de digitação e números inválidos.

    Use nosso Validador de Cartão de Crédito para verificar se um número segue o padrão correto. Lembre-se: a validação confirma apenas a estrutura matemática, não a validade real do cartão.

    Nota de segurança: Nunca insira dados reais de cartão em validadores online. Use apenas para verificar números de teste ou para fins educacionais.

    cartão de crédito
    validação
    algoritmo Luhn
    segurança
    pagamentos

    Ferramentas Relacionadas

    Artigos Relacionados