Dígito verificador Aadhaar Verhoeff
Obtenha o dígito verificador Verhoeff dos onze primeiros dígitos de um Aadhaar ou confira um número completo de doze: 2345 6789 012 recebe o 4 e vira 2345 6789 0124. Erros de digitação aparecem antes de salvar. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Número Aadhaar
- 23456789012
- Modo de cálculo
- Compute
- Entrada
- 23456789012
- Dígito verificador
- 4
- Com dígito verificador
- 234567890124
- Formatado
- 2345 6789 0124
Aadhaar é o número de identidade único de doze dígitos da Índia. O último dígito é um dígito de verificação Verhoeff calculado sobre os onze primeiros, de modo que erros de um único dígito e muitas trocas adjacentes são detectados antes de salvar um formulário ou importar um arquivo em lote. Esta capacidade calcula esse dígito a partir de um corpo de onze dígitos, ou valida um Aadhaar completo de doze dígitos que já inclui o verificador, e reporta entrada inválida em vez de remover letras em silêncio ou inventar um número. O caminho é aritmética pura—sem chamada de rede à UIDAI, sem consulta a registro e sem afirmar que uma pessoa existe—, para que exercícios, pré-checagens KYC e filtros ETL compartilhem o mesmo contrato determinístico.
O que é o dígito verificador Aadhaar Verhoeff e por que a UIDAI o usa
Um número Aadhaar é uma cadeia de doze dígitos em que o dígito final não é escolhido livremente: ele é produzido pelo algoritmo de Verhoeff aplicado aos onze primeiros. Verhoeff opera no grupo diedral de ordem dez com tabelas fixas de multiplicação, permutação e inversa. Os dígitos são processados da direita para a esquerda; cada um é permutado pela posição (módulo oito) e combinado com uma soma de verificação acumulada.
Ao gerar o dígito de verificação, anexa-se a inversa da soma intermediária para que um número completo de doze dígitos sempre produza soma zero na reavaliação. Essa propriedade detecta todo erro de um dígito e toda transposição adjacente—padrões que dominam formulários e OCR. A UIDAI também exige que um Aadhaar válido nunca comece com zero nem com um, regra que esta ferramenta aplica nos caminhos compute e validate para rejeitar cedo prefixos sintéticos ou digitados errados.
Em comparação com Luhn (usado em muitos cartões de pagamento) e Damm (outro controle de quasegrupo), Verhoeff é o esquema específico escolhido para Aadhaar; reutilizar um validador Luhn em um campo Aadhaar gera falsa confiança. Esta capacidade implementa apenas a aritmética de verificação publicada. Não contata a UIDAI, não prova residência, não obtém dados demográficos nem afirma que um número está atribuído a uma pessoa viva.
Uma soma correta significa que a cadeia de dígitos é coerente com Verhoeff e com a regra do primeiro dígito—não que a verificação de identidade tenha sido bem-sucedida.
Onde os dígitos verificadores Aadhaar se encaixam em KYC, formulários e pipelines
Formulários de onboarding e KYC na Índia costumam coletar Aadhaar para vinculação ou repasse a e-KYC. Importações em lote de clientes ou funcionários podem executar o modo validate em cada linha e isolar números cujo dígito de verificação já não coincida, o que é mais barato do que descobrir a corrupção em uma operação em massa malsucedida.
Sites de conteúdo que ranqueiam por calculadora de dígito verificador Aadhaar ou validador Verhoeff Aadhaar se beneficiam de uma ferramenta ao vivo cujo caminho gratuito no navegador coincide byte a byte com a automação paga. Não trate um controle Verhoeff correto como prova de identidade, de inscrição, de correspondência biométrica ou de autorização para agir em nome de alguém: ele só demonstra que a cadeia de dígitos é coerente com o algoritmo Verhoeff do Aadhaar e com a restrição do primeiro dígito da UIDAI.
Casos de uso
Auditar colunas Aadhaar em arquivos de parceiros e KYC
Valide em lote cada Aadhaar de uma importação CSV e isole as linhas cujo dígito de verificação já não coincida com o valor esperado recalculado.
Perguntas frequentes
O que é o dígito verificador Aadhaar Verhoeff?
É o décimo segundo dígito de um número Aadhaar, calculado com o algoritmo diedral de Verhoeff sobre os onze primeiros, de modo que erros de um dígito e transposições adjacentes quebrem a soma de verificação.
Por que o primeiro dígito deve ser 2–9?
Os números Aadhaar da UIDAI nunca começam com 0 nem com 1. Esta ferramenta rejeita corpos e números completos que violem essa regra para que você não aceite UIDs estruturalmente impossíveis.
Quanto custa a ferramenta de dígito verificador Aadhaar Verhoeff?
A ferramenta do navegador é gratuita. Uma soma válida não é prova de identidade nem de inscrição na UIDAI.
Um dígito verificador válido prova que o Aadhaar pertence a alguém?
Não. A conferência é só aritmética: não consulta a UIDAI, não busca em nenhum cadastro nem confirma residência. Passar significa apenas que os doze dígitos são coerentes com o Verhoeff e com a regra do primeiro dígito, não que a identidade foi verificada.
Quais erros de digitação o dígito verificador do Aadhaar detecta?
Todo erro em um único dígito e toda troca entre dois dígitos vizinhos, que são as falhas mais comuns ao preencher formulários ou ler documentos escaneados. Um validador Luhn, como o de muitos cartões de pagamento, usa outro método e dá uma falsa segurança.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
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.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/enc/aadhaar-india \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"aadhaar":"23456789012"}'const res = await fetch("https://api.kit.forhosting.com/enc/aadhaar-india", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"aadhaar": "23456789012"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/aadhaar-india",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"aadhaar": "23456789012"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/aadhaar-india", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"aadhaar":"23456789012"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"aadhaar":"23456789012"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/aadhaar-india", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"aadhaar": "23456789012"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.aadhaar_india",
"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.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Espaços e hífens na forma habitual XXXX XXXX XXXX são aceitos; caracteres não numéricos e comprimentos incorretos falham com invalid_input. Use grátis no navegador ou chame a API do KIT ao preço publicado; ambos os caminhos executam as mesmas tabelas Verhoeff.
Como calcular um dígito verificador ou validar um Aadhaar de doze dígitos
Envie um campo aadhaar com dígitos de zero a nove, opcionalmente agrupados com espaços ou hífens como em 2345 6789 0124. O modo compute é o padrão: forneça exatamente onze dígitos sem o dígito de verificação (por exemplo 23456789012 ou 2345 6789 012). O modo validate espera um número completo de doze dígitos incluindo o dígito de verificação final. Prefira compute quando montar um número a partir de um corpo de onze dígitos conhecido; prefira validate quando um usuário, um CSV de parceiro ou um rótulo escaneado fornecer um UID completo e você precisar de um filtro booleano antes de um fluxo de identidade mais profundo. O motor devolve check_digit como string de um caractere, with_check como a string completa de doze dígitos e formatted como XXXX XXXX XXXX para exibição. A resposta indica valid true quando a soma Verhoeff do número inteiro é zero (ou, de forma equivalente, quando o dígito recalculado coincide com o último), e sempre inclui check_digit, expected_check_digit, payload sem o último dígito e formatted. Strings vazias, aadhaar ausente, valores de mode inválidos, comprimentos errados, primeiro dígito zero ou um e caracteres não numéricos falham com invalid_input antes de concluir qualquer consulta às tabelas e não são cobrados. Como o caminho é parse puro, sem relógio, fonte aleatória ou 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 filtrar formulários de onboarding, importações de parceiros e geradores internos sem negociar um plano sob medida.
Onde os dígitos verificadores Aadhaar se encaixam em KYC, formulários e pipelines
Validar o dígito Verhoeff na borda do navegador ou da API bloqueia erros óbvios de digitação antes de gravar um registro e antes de chamar qualquer serviço posterior. Testes de integração de pipelines OCR podem afirmar que uma string limpa de doze dígitos ou valida, ou é rejeitada com uma mensagem clara invalid_input quando ainda há ruído. Em todo fluxo o contrato é o mesmo: dígitos com espaços ou hífens opcionais, compute ou validate, JSON estruturado que você pode testar com goldens, comportamento idêntico grátis no navegador ou com saldo KIT pré-pago, e falha honesta quando a entrada está malformada.
Casos de integração
Filtrar campos Aadhaar em formulários web e móveis
Quando um usuário enviar um Aadhaar completo de doze dígitos, chame o modo validate e bloqueie o salvamento se valid for false, mostrando expected_check_digit para corrigir um único erro de digitação antes de armazenar o registro.
Calcular dígitos verificadores para UIDs sintéticos ou completados
A partir de um corpo de onze dígitos que comece com 2–9, chame o modo compute e armazene with_check ou formatted para que cada fixture de teste e cada string completa carregue o dígito Verhoeff final correto.
Perguntas técnicas
Como calculo um dígito verificador Aadhaar com esta API?
Faça POST com aadhaar de onze dígitos (espaços ou hífens opcionais) e mode compute (ou omita mode). A resposta inclui check_digit, with_check e formatted como XXXX XXXX XXXX.
Como valido um Aadhaar completo de doze dígitos?
Faça POST com aadhaar de doze dígitos e mode validate. A resposta define valid true quando a soma Verhoeff é zero e inclui expected_check_digit para comparação.