cpf_cnpj
Validador e Gerador de CPF e CNPJ para Rust.
Características
- Analisa repetições de dígitos como
111.111.111-11ou000.000.000-00 - Ignora caracteres especiais de formatação (
.,-,/) - Valida antecipadamente a quantidade de dígitos
- Suporte ao CNPJ Alfanumérico (novo formato a partir de julho/2026 - IN RFB nº 2.229/2024)
Instalação
Adicione essa dependência no seu Cargo.toml:
[]
= "0.3"
Uso básico
use cpf;
use cnpj;
// Validação de CPF
validate; // true
validate; // true
validate; // false
// Validação de CNPJ (formato tradicional)
validate; // true
validate; // true
// Validação de CNPJ Alfanumérico (novo formato 2026)
validate; // true
validate; // true (case-insensitive)
// Geração de CPF
generate; // "25524893033"
// Geração de CNPJ (formato tradicional)
generate; // "76071265000142"
// Geração de CNPJ Alfanumérico
generate_alphanumeric; // "A1B2C3D40001XX"
CNPJ Alfanumérico
A partir de julho de 2026, a Receita Federal do Brasil implementará o CNPJ Alfanumérico conforme a Instrução Normativa RFB nº 2.229/2024.
Características do novo formato
- 12 primeiras posições: podem conter letras (A-Z) ou dígitos (0-9)
- 2 últimas posições (DV): sempre numéricas (0-9)
- Case-insensitive: letras maiúsculas e minúsculas são aceitas na validação
- Compatibilidade: CNPJs numéricos existentes continuam válidos
Algoritmo de cálculo do DV
O cálculo dos dígitos verificadores segue o módulo 11, com a seguinte conversão de caracteres:
| Caractere | Valor |
|---|---|
| 0-9 | 0-9 |
| A-Z | 17-42 (código ASCII - 48) |
Exemplo
CNPJ: 12.ABC.345/01DE-??
Posições: 1 2 A B C 3 4 5 0 1 D E
Valores: 1 2 17 18 19 3 4 5 0 1 20 21
Pesos: 5 4 3 2 9 8 7 6 5 4 3 2
Produtos: 5 8 51 36 171 24 28 30 0 4 60 42
Soma: 459
Resto: 459 % 11 = 8
DV1: 11 - 8 = 3
CNPJ completo: 12.ABC.345/01DE-35
Desenvolvimento
Comandos disponíveis (Makefile)
Executando testes
Licença
cpf_cnpj é um software Open Source licenciado pelo MIT.