Do not speak Portuguese? Translate this site with Google or Bing Translator
A Matemática nos Documentos CPF

Posted on: February 02, 2022 01:13 PM

Posted by: Renato

Views: 7799

A Matemática nos Documentos: CPF

##  A Matemática dos CPF’s

Toda pessoa que se inscreve no Cadastro de Pessoas Físicas da Receita Federal do Brasil recebe um número de inscrição de onze dígitos decimais com a seguinte configuração: ABC.DEF.GHI-JK.

    Os primeiros oito dígitos, ABCDEFGH, formam o número-base definido pela Receita Federal no momento da inscrição.
    O nono dígito, I, define a Região Fiscal responsável pela inscrição.
    O penúltimo, J, é o dígito verificador dos nove primeiros.
    O último, K, é o dígito verificador dos noves anteriores a ele.

A Região Fiscal onde é emitido o CPF (definida pelo nono dígito) tem as seguintes identificações:
1 – DF, GO, MS, MT e TO
2 – AC, AM, AP, PA, RO e RR
3 – CE, MA e PI
4 – AL, PB, PE, RN
5 – BA e SE
6 – MG
7 – ES e RJ
8 – SP
9 – PR e SC
0 – RS

No caso da 10ª Região Fiscal (Rio Grande do Sul), o algarismo zero é utilizado como nono dígito.
Podem existir casos específicos em que esse nono dígito não esteja de acordo com os determinados acima.

Mas o que são os Dígitos Verificadores?

É aqui que a Matemática entra.
De maneira geral, Dígitos Verificadores (DV) são dígitos incorporados a números para possibilitar a detecção de erros de digitação. Recurso muito difundido, por exemplo, na numeração de contas bancárias.
Particularmente, no caso do CPF, os dois Dígitos Verificadores são calculados, a partir da esquerda, da seguinte maneira:

► Os nove primeiros algarismos são ordenadamente multiplicados pela sequência 1010, 99, 88, 77, 66, 55, 44, 33, 22 (o primeiro por 1010, o segundo por 99, e assim sucessivamente). Em seguida, calcula-se o resto rr da divisão da soma dos resultados das multiplicações por 1111:

        se esse resto for 00 ou 11, o primeiro dígito verificador é zero (d1=0d1=0); caso contrário, d1=11−rd1=11−r.

► O segundo Dígito Verificador (d2d2) é calculado pela mesma regra, na qual os números a serem multiplicados pela sequência 1010, 99, 88, 77, 66, 55, 44, 33, 22 são contados a partir do segundo algarismo, sendo d1d1 o último algarismo. Se ss é o resto da divisão por 1111 das somas das multiplicações, então:

        d2d2 é zero, se ss for 00 ou 11; caso contrário, d2=11−sd2=11−s.

image

Pronto! Já temos o CPF completo: 280.012.389−38280.012.389−38.

Observação: Em um primeiro momento, os Dígitos Verificadores de um CPF servem para alertar que o número foi escrito de forma inadequada, sem que haja necessidade de se acessar o banco de dados da Receita Federal. Mas a validação de um CPF realizada com base apenas nos Dígitos Verificadores não significa que esse CPF exista no Cadastro Nacional de Pessoas Físicas e nem que ele seja um número ativo ou com situação cadastral regular perante a Receita Federal.
Assim, um número de CPF autenticado apenas pelos seus Dígitos Verificadores não é, necessariamente, um documento já emitido ou legalmente válido. Para conferir se um número de CPF está ativo ou com situação cadastral regular, deve ser consultado o site oficial da Secretaria da Receita Federal do Brasil.

- https://servicos.receita.fazenda.gov.br/Servicos/CPF/ConsultaSituacao/ConsultaPublica.asp
- http://clubes.obmep.org.br/blog/a-matematica-nos-documentos-cpf/


4

Share

Donate to Site


About Author

Renato

Developer

Add a Comment
Comments 0 Comments

No comments yet! Be the first to comment

Blog Search


Categories

OUTROS (16) Variados (109) PHP (133) Laravel (171) Black Hat (3) front-end (29) linux (114) postgresql (39) Docker (28) rest (5) soap (1) webservice (6) October (1) CMS (2) node (7) backend (13) ubuntu (56) devops (25) nodejs (5) npm (3) nvm (1) git (8) firefox (1) react (7) reactnative (5) collections (1) javascript (7) reactjs (8) yarn (0) adb (1) Solid (2) blade (3) models (1) controllers (0) log (1) html (2) hardware (3) aws (14) Transcribe (2) transcription (1) google (4) ibm (1) nuance (1) PHP Swoole (5) mysql (31) macox (4) flutter (1) symfony (1) cor (1) colors (2) homeOffice (2) jobs (3) imagick (2) ec2 (1) sw (1) websocket (2) markdown (1) ckeditor (1) tecnologia (14) faceapp (1) eloquent (14) query (4) sql (40) ddd (3) nginx (9) apache (4) certbot (1) lets-encrypt (3) debian (12) liquid (1) magento (2) ruby (1) LETSENCRYPT (1) Fibonacci (1) wine (1) transaction (1) pendrive (1) boot (1) usb (1) prf (1) policia (2) federal (1) lucena (1) mongodb (4) paypal (1) payment (1) zend (1) vim (4) ciencia (6) js (1) nosql (1) java (1) JasperReports (1) phpjasper (1) covid19 (1) saude (1) athena (1) cinnamon (1) phpunit (2) binaural (1) mysqli (3) database (42) windows (6) vala (1) json (2) oracle (1) mariadb (4) dev (12) webdev (24) s3 (4) storage (1) kitematic (1) gnome (2) web (2) intel (3) piada (1) cron (2) dba (18) lumen (1) ffmpeg (2) android (2) aplicativo (1) fedora (2) shell (4) bash (3) script (3) lider (1) htm (1) csv (1) dropbox (1) db (3) combustivel (2) haru (1) presenter (1) gasolina (1) MeioAmbiente (1) Grunt (1) biologia (1) programming (22) performance (3) brain (1) smartphones (1) telefonia (1) privacidade (1) opensource (3) microg (1) iode (1) ssh (3) zsh (2) terminal (3) dracula (1) spaceship (1) mac (2) idiomas (1) laptop (2) developer (37) api (5) data (1) matematica (1) seguranca (2) 100DaysOfCode (9) hotfix (1) documentation (1) laravelphp (10) RabbitMQ (3) Elasticsearch (1) redis (2) Raspberry (4) Padrao de design (4) JQuery (1) angularjs (4) Dicas (43) Kubernetes (3) vscode (2) backup (1) angular (3) servers (2) pipelines (1) AppSec (1) DevSecOps (4) rust (1) RustLang (1) Mozilla (1) algoritimo (1) sqlite (1) Passport (2) jwt (5) security (2) translate (1) kube (2) iot (1) politica (2) bolsonaro (1) flow (1) podcast (1) Brasil (1) containers (3) traefik (1) networking (1) host (1) POO (2) microservices (2) bug (1) cqrs (1) arquitetura (3) Architecture (4) sail (3) militar (1) artigo (1) economia (1) forcas armadas (1) ffaa (1) autenticacao (2) autorizacao (2) authentication (4) authorization (3) NoCookies (1) wsl (4) memcached (1) macos (2) unix (2) kali-linux (1) linux-tools (5) apple (1) noticias (2) composer (1) rancher (1) k8s (1) escopos (1) orm (1) jenkins (4) github (5) gitlab (3) queue (1) Passwordless (1) sonarqube (1) phpswoole (1) laraveloctane (1) Swoole (1) Swoole (1) octane (1) Structurizr (1) Diagramas (1) c4 (1) c4-models (1) compactar (1) compression (1) messaging (1) restfull (1) eventdrive (1) services (1) http (1) Monolith (1) microservice (1) historia (1) educacao (1) cavalotroia (1) OOD (0) odd (1) chatgpt (1) openai (3) vicuna (1) llama (1) gpt (1) transformers (1) pytorch (1) tensorflow (1) akitando (1) ia (1) nvidia (1) agi (1) guard (1) multiple_authen (2) rpi (1) auth (1) auth (1) livros (2) ElonMusk (2) Oh My Zsh (1) Manjaro (1) BigLinux (2) ArchLinux (1) Migration (1) Error (1) Monitor (1) Filament (1) LaravelFilament (1) replication (1) phpfpm (1) cache (1) vpn (1) l2tp (1) zorin-os (1) optimization (1) scheduling (1) monitoring (2) linkedin (1) community (1) inteligencia-artificial (2) wsl2 (1) maps (1) API_KEY_GOOGLE_MAPS (1) repmgr (1) altadisponibilidade (1) banco (1) modelagemdedados (1) inteligenciadedados (4) governancadedados (1) bancodedados (2) Observability (1) picpay (1) ecommerce (1) Curisidades (1) Samurai (1) KubeCon (1) GitOps (1) Axios (1) Fetch (1) Deepin (1) vue (4) nuxt (1) PKCE (1) Oauth2 (2) webhook (1) TypeScript (1) tailwind (1) gource (2)

New Articles



Get Latest Updates by Email