ForHosting KIT · Ferramentas para dev

Dígito verificador Luhn mod-10

Para 7992739871 o dígito verificador Luhn é 3, e o número fica 79927398713: a regra módulo 10 dos cartões de pagamento, aplicada a qualquer sequência de dígitos, como números de sócio ou de série. Também valida números completos. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Número
7992739871
Você obtém
Modo de cálculo
Compute
Entrada
7992739871
Dígito verificador
3
Com dígito verificador
79927398713

Códigos de conta longos, fragmentos de IMEI, números de associação e séries internas são fáceis de digitar errado. O algoritmo de Luhn —também chamado de esquema de dígito verificador módulo 10— acrescenta um único dígito final de modo que a maioria das substituições de um dígito e muitas transposições adjacentes quebre a soma de verificação. Esta capacidade calcula esse dígito para qualquer carga útil de dígitos puros que você já tenha, ou valida um número completo que já o inclua, e rejeita entrada não numérica com um erro claro em vez de remover hífens ou letras em silêncio. Diferente de um verificador só para cartões de pagamento, aceita qualquer comprimento de dígitos para que você possa proteger SKUs de armazém, IDs de fidelidade e etiquetas em lote com a mesma regra que a indústria já confia nos cartões.

O que o algoritmo Luhn mod-10 faz e o que ele detecta

Dígitos verificadores existem porque pessoas e teclados introduzem danos previsíveis: uma tecla errada, dois dígitos vizinhos trocados ou um dígito inserido ou omitido na redigitação. Hans Peter Luhn publicou um procedimento simples da direita para a esquerda que dobra cada segundo dígito, reduz valores acima de nove subtraindo nove, soma o resultado e escolhe um dígito final para que o total seja divisível por dez.

Essa construção detecta todos os erros de um só dígito e a maioria das transposições adjacentes, e por isso redes de pagamento, identificadores de telecomunicações e inúmeros formatos de conta internos ainda confiam nela décadas depois. Esta ferramenta implementa esse percurso padrão em qualquer sequência de dígitos puros —não uma variante própria nem um analisador de BIN de rede de cartões—.

Você obtém o dígito verificador como string de um caractere, o número completo com o dígito anexado, ou um indicador booleano de validade com o dígito verificador esperado recalculado só a partir da carga útil. A resposta sempre nomeia o algoritmo como luhn para que sistemas posteriores registrem qual esquema protegeu o valor.

Em comparação com dígitos verificadores de quasigrupo Damm, Luhn é o padrão de fato da indústria para campos tipo cartão ou conta; em comparação com dígitos da família de códigos de barras (EAN, UPC, ISBN), Luhn não está preso a um layout de GTIN varejista —aplica-se a qualquer carga útil de dígitos que você escolher. Conhecer esses trade-offs ajuda a escolher o esquema certo: use Luhn quando a interoperabilidade com sistemas mod-10 existentes importar mais do que capturar até o último par de transposição.

Como calcular um dígito verificador ou validar um número completo

Envie um campo number que contenha apenas os caracteres de 0 a 9. O modo validate espera um número completo de pelo menos dois dígitos (um ou mais dígitos de carga útil mais o dígito verificador final). Esse formato facilita mostrar «você digitou X, esperava-se Y» em um formulário sem uma segunda chamada.

Strings vazias, number ausente e valores de modo inválidos falham antes de qualquer duplicação e não são cobrados. Prefira compute ao criar novos IDs; prefira validate ao receber um ID de um usuário, um arquivo de parceiro ou uma etiqueta digitalizada e precisar de um gate booleano antes de buscar o registro.

Onde dígitos verificadores Luhn se encaixam em sistemas reais

Programas de associação e fidelidade geram IDs numéricos sequenciais ou aleatórios e precisam de um dígito final que agentes de call center e teclados móveis não corrompam em silêncio. Equipes de armazém e logística imprimem códigos de caixa ou de ativo; um único dígito digitado errado em um dispositivo portátil é comum, e Luhn detecta toda substituição de um dígito. Fluxos de telecomunicações e de dispositivos que já documentam IMEI ou identificadores semelhantes em forma mod-10 podem recalcular e verificar sem uma UI específica de cartão.

Testes de integração e jobs de qualidade de dados recalculam o dígito verificador esperado para cada linha de uma exportação CSV e marcam linhas em que o número completo armazenado não coincide mais, o que detecta tanto edições humanas quanto bugs de desvio de um em geradores. Equipes de produto que já expõem um validador Luhn de cartão para o UX de pagamento ainda podem adotar esta ferramenta geral para identificadores internos em que o mesmo algoritmo é exigido mas a entrada não é um PAN.

Não trate um Luhn aprovado como prova de autorização, propriedade ou de que um cartão seja real —ele só prova que a sequência de dígitos está bem formada sob este algoritmo, o mesmo critério de honestidade que você aplica a qualquer checksum.

Auditar colunas de ID exportadas

Valide em lote todos os IDs numéricos de um CSV de parceiro ou de uma exportação de armazém e coloque em quarentena as linhas cujo dígito verificador não coincida mais com o valor esperado recalculado.

O que é um dígito verificador Luhn mod-10?

É um único dígito final calculado com o algoritmo de duplicação de Hans Peter Luhn de modo que a soma ponderada de dígitos do número completo seja divisível por dez, detectando a maioria dos erros de um dígito e muitas transposições.

O que acontece com letras, espaços ou hífens?

Forneça apenas dígitos 0-9; tarefas de validação com falha não são cobradas.

A ferramenta de dígito verificador Luhn é grátis?

A ferramenta do navegador é grátis e roda localmente.

Quais erros de digitação o dígito verificador Luhn detecta?

Ele detecta qualquer dígito trocado e a maioria das inversões entre dois dígitos vizinhos, os dois deslizes mais comuns ao redigitar um número. Algumas inversões escapam: é a contrapartida de continuar compatível com os sistemas módulo 10 existentes.

Um número Luhn válido significa que o cartão ou a conta existe?

Não. Passar na verificação só mostra que a sequência de dígitos está bem formada pela regra de Luhn. Não prova autorização, titularidade nem que o cartão existe: use como filtro de erros de digitação, não como verificação.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/enc/luhn

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/enc/luhn \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"number":"7992739871"}'
{
  "number": "7992739871"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.luhn",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Execute grátis no navegador ou chame a API do KIT pelo preço publicado; ambos os caminhos usam a mesma aritmética pura, sem rede e sem números armazenados.

Como calcular um dígito verificador ou validar um número completo

Espaços, hífens, letras, pontos decimais e notação científica são rejeitados como entrada não numérica com invalid_input, para que você nunca aceite um valor silenciosamente cortado. O modo compute é o padrão: o motor percorre a carga útil da direita como se um dígito verificador ficasse no final, devolve check_digit como string de um caractere e devolve with_check como a carga útil mais esse dígito, para que você possa armazenar ou imprimir uma única string. A resposta informa valid como verdadeiro quando a soma ponderada completa é divisível por dez, e sempre inclui o check_digit final, o expected_check_digit recalculado só a partir da carga útil e a substring payload sem o último dígito. Como o caminho é parse puro sem relógio, fonte aleatória nem rede, a mesma entrada sempre produz o mesmo JSON na ferramenta gratuita do navegador e na API. A US$ 0,002 por solicitação bem-sucedida, você pode proteger importações em massa, formulários de cadastro e impressoras de etiquetas em lote sem negociar um nível sob medida.

Onde dígitos verificadores Luhn se encaixam em sistemas reais

Em cada fluxo o contrato é o mesmo: só dígitos, calcular ou validar, JSON estruturado que você pode testar com goldens, comportamento idêntico grátis no navegador ou via saldo pré-pago do KIT, e falha honesta quando a entrada não é numérica.

Gerar IDs de associação ou de conta

Gere uma carga útil sequencial, chame o modo compute e armazene with_check para que todo ID novo carregue um dígito final Luhn antes de ser impresso em cartões ou enviado por e-mail aos associados.

Validar códigos digitados ou digitalizados na entrada

Quando um usuário ou scanner enviar um número completo, chame o modo validate e bloqueie a busca quando valid for falso, mostrando expected_check_digit para ajudar a corrigir um único erro de digitação.

Como calculo um dígito verificador Luhn com esta API?

Faça POST com number definido para os dígitos da carga útil e mode compute (ou omita mode). A resposta inclui check_digit e with_check (carga útil mais dígito verificador).

Como valido um número que já tem dígito verificador?

Faça POST com a sequência completa de dígitos e mode validate. A resposta inclui valid, check_digit, expected_check_digit e payload sem o último dígito.

Ver a documentação completa do KIT →