Dígito ID residência China
Digite 11010519491231002 e receba o caractere de controle X, então a identidade completa é 11010519491231002X; ou cole os 18 caracteres para ver se o último confere. Útil para limpar cadastros e folhas de pagamento. 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
- Id
- 11010519491231002
- Modo de cálculo
- Compute
- Entrada
- 11010519491231002
- Dígito verificador
- X
- Id
- 11010519491231002X
O número do cartão de identidade de residente chinês (居民身份证) é um identificador pessoal de dezoito caracteres usado em bancos, telecom, viagens, saúde e formulários governamentais na China continental. Dezessete dígitos codificam a área administrativa, a data de nascimento e um número de sequência que também indica o sexo; o décimo oitavo caractere é um dígito de controle derivado de ISO 7064 MOD 11-2 para que um único erro de digitação e muitas cadeias corrompidas falhem em vez de parecer outro registro válido. Esta capacidade calcula esse caractere de controle a partir de uma base pura de dezessete dígitos, ou valida um ID completo de dezoito caracteres e informa se o dígito armazenado coincide com o valor recalculado.
Como o dígito verificador do ID de residente chinês é calculado
Um número de identidade de residente da China continental tem sempre dezoito caracteres quando escrito sem pontuação. Os primeiros dezessete são dígitos decimais que codificam o código da divisão administrativa, a data de nascimento como YYYYMMDD e uma sequência de três dígitos (ímpar para homem, par para mulher na convenção usual). O décimo oitavo caractere é o dígito de controle sob ISO 7064 MOD 11-2 adotado na norma nacional do número de identidade do cidadão.
Cada uma das dezessete posições multiplica seu dígito por um peso fixo Wi igual a dois elevado a dezoito menos i, reduzido módulo onze. Isso produz a conhecida sequência de pesos sete, nove, dez, cinco, oito, quatro, dois, um, seis, três, sete, nove, dez, cinco, oito, quatro, dois.
Os produtos ponderados são somados, a soma é reduzida módulo onze e o resto seleciona o caractere de controle na tabela um, zero, X, nove, oito, sete, seis, cinco, quatro, três, dois—assim o resto dois produz X e o resto zero produz um. De forma equivalente, o valor de controle é doze menos a soma módulo onze, e então essa quantidade módulo onze, com o dez escrito como a letra X.
A validação é a inversa: recalcule o caractere a partir dos primeiros dezessete dígitos e compare com o último, que deve ser um dígito decimal ou X maiúsculo. *.
Casos de uso
Auditar colunas de ID de residente em exportações em massa
Valide em lote cada ID de residente chinês em um CSV de folha ou extrato ERP e coloque em quarentena as linhas cujo caractere de controle não coincida mais com o valor recalculado.
Perguntas frequentes
Como o dígito verificador do ID de residente chinês é calculado?
Multiplique os primeiros dezessete dígitos pelos pesos 7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2 (2^(18-i) mod 11), tome a soma módulo 11 e mapeie o resto para 1,0,X,9,8,7,6,5,4,3,2. É ISO 7064 MOD 11-2 com X para o dez.
Por que o caractere de controle pode ser X?
ISO 7064 MOD 11-2 usa onze símbolos. Quando o algoritmo resulta em dez, a norma nacional escreve a letra X em vez de um segundo dígito para o ID permanecer com dezoito caracteres.
Que informações os 17 primeiros dígitos da identidade chinesa trazem?
Eles codificam a região administrativa, a data de nascimento em ano, mês e dia e um número sequencial de três dígitos. Pela convenção usual, essa sequência é ímpar para homens e par para mulheres.
Um caractere de controle correto prova que a identidade é autêntica?
Não. Ele só mostra que o número está bem formado do ponto de vista aritmético. Não prova que a pessoa consta no registro civil nem que o documento continua ativo.
Posso colar um número com espaços ou hífens?
Não. Espaços, hífens, pontos e outros sinais são recusados em vez de removidos em silêncio, então tire a formatação antes. Um x minúsculo no final é aceito e vira X maiúsculo.
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/china-id \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"id":"11010519491231002"}'const res = await fetch("https://api.kit.forhosting.com/enc/china-id", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"id": "11010519491231002"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/china-id",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"id": "11010519491231002"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/china-id", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"id":"11010519491231002"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"id":"11010519491231002"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/china-id", 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
{
"id": "11010519491231002"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.china_id",
"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
Corpos sem dígitos, comprimentos incorretos, entrada vazia e caracteres ilegais são rejeitados com um erro claro invalid_input. Use grátis no navegador ou chame a API do KIT; ambos os caminhos compartilham a mesma aritmética modular pura, sem ida e volta de rede e sem registros armazenados de pessoas vivas.
Como o dígito verificador do ID de residente chinês é calculado
Como o algoritmo é aritmética modular inteira pura com pesos fixos, os mesmos dezessete dígitos sempre produzem o mesmo caractere de controle em cada plataforma—navegador, Worker ou harness de testes offline—por isso a capacidade é entregue como motor parse de nível A e não como chamada a um modelo.
Como calcular o dígito de controle ou validar um ID completo
Envie um campo id que contenha apenas dígitos no corpo e, ao validar, um caractere final que seja dígito ou X. O modo validate espera exatamente dezoito caracteres. Essa forma facilita mostrar «você digitou X, esperava-se Y» em uma UI de KYC ou cadastro sem uma segunda requisição. Cadeias vazias, id ausente, valores de mode inválidos e comprimentos incorretos (por exemplo dezesseis ou dezenove caracteres) falham antes de qualquer soma ponderada e não são cobrados. Lembre-se de que um dígito de controle correto só prova boa formação aritmética sob ISO 7064 MOD 11-2—não prova que a pessoa exista em registros civis nem que o documento esteja ativo. Espaços, hífens, pontos e outra pontuação são rejeitados como entrada não ID com invalid_input para que um formulário nunca aceite um valor limpo em silêncio—remova a formatação no seu cliente se o usuário colar uma cadeia com espaços ou hífens. O modo compute é o padrão: forneça exatamente dezessete dígitos base; o motor devolve check_digit como um único caractere de zero a nove ou X, id como o número completo de dezoito caracteres, length dezoito e algorithm iso7064_mod11_2. A resposta indica valid true somente quando o caractere final coincide com expected_check_digit recalculado; sempre inclui base (os primeiros dezessete dígitos), check_digit como enviado, expected_check_digit e o id canônico formado por base mais o caractere esperado. 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 de CRM, auditorias de arquivos de parceiros e barreiras de formulário sem negociar um nível personalizado.
Onde os dígitos de controle do ID chinês se encaixam em fluxos reais de produto
Fluxos de onboarding de fintech e marketplaces que aceitam clientes da China continental costumam pedir o ID de residente cedo; validar o dígito de controle ao sair do campo reduz envios falhos e tickets de suporte sem chamar um registro nacional a cada tecla. Sistemas de folha, RH e campus que importam CSV de funcionários ou alunos devem colocar em quarentena as linhas cujo décimo oitavo caractere não coincida mais, o que detecta tanto edições humanas quanto bugs de um em geradores anteriores. Não trate um dígito de controle correto como prova de identidade legal ou status de residência—ele só prova que a cadeia de dezoito caracteres está aritmeticamente bem formada sob a regra oficial do ID de residente chinês, o mesmo critério de honestidade que se aplica a qualquer ferramenta de checksum de documentos nacionais. Portais de telecom, viagem e hospitalidade que usam o ID como chave de cidadão podem bloquear o avanço até valid ser true e mostrar expected_check_digit quando o dígito estiver errado. Jobs de qualidade de dados recalculam expected_check_digit para cada coluna de ID em uma exportação e marcam divergências antes de chegarem à faturação ou ao reporting fiscal. Em todo fluxo o contrato é o mesmo: dezessete dígitos para compute ou dezoito caracteres para validate, 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 é uma cadeia de ID bem formada. Combine a verificação com suas próprias regras de código de área e intervalo de datas de nascimento se a política do produto exigir; este endpoint limita-se deliberadamente à checagem modular para que a API continue pequena, estável e fácil de testar com goldens a US$ 0,002 por chamada bem-sucedida.
Casos de integração
Completar dezessete dígitos base para fixtures e formulários
Pegue uma base de dezessete dígitos de um plano de testes ou registro parcial, chame o modo compute e armazene ou exiba o id completo de dezoito caracteres com o caractere de controle ISO 7064 MOD 11-2 acrescentado.
Validar IDs de residente digitados ou importados na entrada
Quando um formulário de cadastro, importação CRM ou API de parceiro enviar dezoito caracteres, chame o modo validate e bloqueie o armazenamento quando valid for false, mostrando expected_check_digit para corrigir um erro de digitação.
Perguntas técnicas
Como calculo o dígito de controle a partir de dezessete dígitos?
Envie POST com mode compute (ou omita mode) e id com exatamente dezessete dígitos. A resposta inclui check_digit (0–9 ou X) e id como o número completo de dezoito caracteres.
Como valido um ID chinês de dezoito caracteres?
Envie POST com mode validate e os dezoito caracteres completos. valid é true somente quando o último caractere coincide com expected_check_digit; tanto o caractere enviado quanto o esperado são devolvidos.
Quanto custa a ferramenta de dígito verificador do ID de residência chinês?
A ferramenta do navegador é gratuita. Solicitações à API usam saldo pré-pago do KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.