Dígitos de controle fødselsnummer
Digite os nove primeiros dígitos de um fødselsnummer norueguês e receba os dois dígitos de controle: 010190000 ganha o 8 e o 3 e vira 01019000083. Cole um número completo de onze dígitos para pegar um erro antes de salvar um cadastro. 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
- Fnr
- 010190000
- Modo de cálculo
- Compute
- Entrada
- 010190000
- Dígito de controle 1
- 8
- Dígito de controle 2
- 3
- Dígitos de controle
- 83
O número de identidade nacional norueguês (fødselsnummer) é um código de onze dígitos usado em saúde, bancos, folha de pagamento, tributação e identidade digital na Noruega. Os dois últimos dígitos são de controle e derivam de vetores de pesos oficiais fixos sob uma regra de módulo onze. Um único dígito digitado errado na data de nascimento ou no número individual costuma quebrar essa soma de verificação, de modo que validar os dígitos de controle antes de aceitar um formulário, um arquivo de parceiro ou uma importação de registro detecta muitos erros de digitação cedo. Esta capacidade calcula ambos os dígitos de controle a partir de uma carga de nove dígitos (data de nascimento mais número individual, com ou sem espaços ou hífens), ou valida um fødselsnummer completo de onze dígitos que já inclui o par final, e reporta entrada inválida em vez de inventar dígitos em silêncio.
O que são os dígitos de controle do fødselsnummer norueguês e como os pesos funcionam
Um fødselsnummer identifica pessoas em sistemas públicos e privados noruegueses. O layout tem onze dígitos decimais: seis para dia, mês e ano de nascimento (DDMMYY), três para o número individual (que também codifica convenções de século e sexo do registro populacional) e dois dígitos de controle no final. Esses dois últimos não são escolhidos livremente — são determinados por completo por um algoritmo público para que a maioria das substituições de um dígito e muitas trocas falhem a soma de verificação.
O primeiro dígito de controle, muitas vezes chamado k1, multiplica os primeiros nove dígitos da esquerda para a direita pela sequência fixa três, sete, seis, um, oito, nove, quatro, cinco e dois. Os produtos são somados e o dígito de controle é onze menos essa soma módulo onze. Se o resultado for onze, o dígito é zero; se for dez, o corpo de nove dígitos não é atribuível — não existe um primeiro dígito de controle válido.
O segundo dígito de controle, k2, multiplica os primeiros dez dígitos (o corpo de nove mais k1) por cinco, quatro, três, dois, sete, seis, cinco, quatro, três e dois, e aplica a mesma regra de onze menos o módulo, tratando novamente dez como inválido. Quando alguém digita um número de onze dígitos cujos dois últimos já não coincidem com esses valores recalculados, a validação falha.
A mesma regra captura ruído de OCR, colagens parciais e erros de um em onboarding de RH, formulários KYC bancários e jobs ETL que redigitam números de identidade a partir de papel ou PDF. Esta ferramenta implementa esses vetores de pesos oficiais sobre dígitos puros após remover espaços e hífens opcionais.
Não consulta a Administração Tributária norueguesa, não prova que uma pessoa existe, não atribui um século a partir do número individual nem interpreta D-numbers (identidades temporárias com dia do mês mais quarenta) além da mesma aritmética sobre dígitos — apenas que a cadeia de dígitos é consistente com o algoritmo dual de dígitos de controle publicado.
Em comparação com o Luhn mod-dez de cartões de pagamento, o esquema fødselsnummer usa dois vetores de pesos fixos da esquerda para a direita e módulo onze, de modo que você não deve reutilizar um validador Luhn em campos de identidade noruegueses. Em comparação com os esquemas de um único dígito do NIP polonês ou do CUIT argentino, a Noruega exige dois dígitos de controle com pesos distintos, por isso uma capacidade dedicada evita falsa confiança de uma utilidade genérica de dígito de controle.
Onde as verificações de fødselsnummer se encaixam em fluxos de identidade, folha e comércio
Plataformas de onboarding de empregadores e de folha de pagamento armazenam um fødselsnummer para relatórios fiscais e benefícios; um único dígito digitado errado na entrada pode enviar declarações à pessoa errada ou falhar a autorização mais adiante. O modo validate na entrada bloqueia o salvamento quando valid é false e pode mostrar o par de controle esperado para que o atendente corrija o formulário antes de gravar o registro.
Bancos e provedores de pagamento que coletam um número de identidade norueguês para KYC podem recalcular ambos os dígitos de controle sem chamar um registro externo, filtrando ruído de OCR e capturas parciais cedo. Equipes de produto que já expõem ferramentas gerais Luhn ou ISO 7064 ainda devem usar esta capacidade específica de fødselsnummer para campos de identidade noruegueses, para que pesos, limites de comprimento, dígitos duais e formato de espaçamento correspondam ao domínio.
Não trate uma verificação de fødselsnummer aprovada como prova de que a pessoa está corretamente identificada, viva, autorizada, presente no registro populacional ou elegível a um serviço — só prova que a cadeia de dígitos é consistente com o algoritmo dual oficial norueguês de dígitos de controle.
Casos de uso
Auditar colunas de identidade em arquivos de parceiros e de folha
Valide em lote cada fødselsnummer de uma importação CSV e coloque em quarentena as linhas cujos dígitos de controle não coincidam mais com o par esperado recalculado.
Perguntas frequentes
O que são os dígitos de controle do fødselsnummer norueguês?
São os dois dígitos finais do número de identidade nacional de onze dígitos. k1 usa os pesos 3,7,6,1,8,9,4,5,2 sobre os primeiros nove; k2 usa 5,4,3,2,7,6,5,4,3,2 sobre os primeiros dez. Cada um é módulo 11 (11 mapeia para 0; 10 significa inválido).
O que acontece com letras, espaços ou comprimento errado?
Forneça apenas dígitos 0-9 (espaços ou hífens opcionais); compute precisa de nove dígitos e validate de onze. Tarefas de validação com falha não são cobradas.
A ferramenta de verificação do fødselsnummer norueguês é gratuita?
A ferramenta do navegador é gratuita e roda localmente.
Como os dois dígitos de controle do fødselsnummer são calculados?
Os nove primeiros dígitos são multiplicados por 3, 7, 6, 1, 8, 9, 4, 5 e 2 e somados; onze menos o resto da divisão por 11 dá o primeiro dígito. O segundo usa os dez primeiros dígitos com os pesos 5, 4, 3, 2, 7, 6, 5, 4, 3 e 2 do mesmo jeito.
Por que algumas combinações de nove dígitos não têm fødselsnummer válido?
Quando o cálculo de um dígito de controle dá 10, nenhum algarismo serve, então essa combinação não pode ser atribuída. Um resultado 11 simplesmente vira 0. A ferramenta aponta o caso em vez de inventar um número.
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/fnr-norway \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"fnr":"010190000"}'const res = await fetch("https://api.kit.forhosting.com/enc/fnr-norway", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"fnr": "010190000"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/fnr-norway",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"fnr": "010190000"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/fnr-norway", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"fnr":"010190000"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"fnr":"010190000"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/fnr-norway", 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
{
"fnr": "010190000"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.fnr_norway",
"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
Use grátis no navegador ou chame a API do KIT ao preço publicado; ambos os caminhos executam a mesma aritmética determinística sem consulta de rede e sem consulta ao registro populacional.
Como calcular ambos os dígitos de controle ou validar um fødselsnummer completo
Envie um campo fnr com dígitos de zero a nove, opcionalmente separados por espaços ou hífens. O modo validate espera um número completo de onze dígitos incluindo ambos os dígitos de controle (por exemplo 01019000083 ou 010190 00083). Strings vazias, fnr ausente, valores de mode inválidos e comprimentos errados (não nove dígitos para compute, não onze para validate) falham antes de qualquer soma ponderada e não são faturados. Prefira compute quando montar um número a partir de uma data e sequência individual conhecidas; prefira validate quando um usuário, arquivo de parceiro ou etiqueta digitalizada fornecer um número completo e você precisar de um filtro booleano antes de uma consulta a registro ou dados mestres. Letras, outra pontuação, hífens duplos ou hífens no início ou no fim são rejeitados como entrada malformada com invalid_input para que você nunca aceite um valor limpo em silêncio. O modo compute é o padrão: forneça exatamente nove dígitos sem o par de controle (por exemplo 010190000 para data de nascimento 01.01.90 e número individual 000), e o motor retorna control_digit_1 e control_digit_2 como strings de um caractere, control_digits como o sufixo de dois dígitos, with_check como a string completa de onze dígitos e formatted na forma habitual DDMMYY XXXXX. Se qualquer soma ponderada produzir um dígito de controle dez sob o mapeamento módulo onze, o modo compute falha com invalid_input porque não existe um fødselsnummer válido de onze dígitos para esse corpo. A resposta reporta valid true quando ambos os dígitos recalculados coincidem com o par final, e sempre inclui control_digit_1, control_digit_2, payload sem os dois últimos dígitos e formatted para exibição consistente; quando existem dígitos esperados, eles também são retornados como expected_control_digit_1, expected_control_digit_2 e expected_control_digits. 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 importações em massa, formulários de onboarding e jobs ETL sem negociar um tier customizado.
Onde as verificações de fødselsnummer se encaixam em fluxos de identidade, folha e comércio
Integrações de saúde e do setor público frequentemente recebem números de identidade de arquivos CSV de parceiros em que um dígito final errado rejeitaria um lote inteiro; um oráculo determinístico que retorna valid e with_check permite marcar linhas antes da produção. Landings educativas e de SEO que ranqueiam frases como verificação de fodselsnummer norueguês ou validador de personnummer Noruega precisam de uma ferramenta gratuita ao vivo cujo caminho de navegador coincida com a automação para que capturas de tutoriais permaneçam precisas. 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 via saldo KIT pré-pago, e falha honesta quando a entrada está malformada ou o corpo não tem um par de controle válido.
Casos de integração
Filtrar campos fødselsnummer em formulários de RH e clientes
Quando um usuário envia um número completo de onze dígitos, chame o modo validate e bloqueie o salvamento quando valid for false, mostrando expected_control_digits para corrigir um erro de digitação antes de gravar o registro.
Calcular dígitos de controle ao emitir ou completar IDs
A partir de uma data DDMMYY e um número individual de três dígitos, chame o modo compute e armazene with_check ou formatted para que cada nova string carregue o par final correto antes de imprimir ou exportar.
Perguntas técnicas
Como calculo os dígitos de controle do fødselsnummer com esta API?
Faça POST com fnr definido para os nove dígitos de carga (espaços ou hífens opcionais) e mode compute (ou omita mode). A resposta inclui control_digit_1, control_digit_2, control_digits, with_check e formatted como DDMMYY XXXXX.
Como valido um fødselsnummer norueguês completo?
Faça POST com a string completa de onze dígitos e mode validate. A resposta inclui valid, os dígitos de controle informados, payload, formatted e, quando computáveis, os dígitos de controle esperados.