Como Validar Chave de Acesso CT-e em Python
Aprenda a validar chaves de Conhecimento de Transporte Eletrônico (CT-e) com este script Python.
Introdução
O CT-e (modelo 57) utiliza a mesma lógica de validação da NF-e. A chave de acesso possui 44 posições e garante a autenticidade do documento.
O Algoritmo
O dígito verificador é calculado via Módulo 11 (pesos 2-9). O resto da divisão por 11 determina o dígito final.
Implementação em Python
cte-generator.pypython
def validate_cte_key(key: str) -> bool:
if len(key) != 44 or not key.isdigit():
return False
# Validação do DV (Dígito Verificador)
base_key = key[:43]
weights = [2, 3, 4, 5, 6, 7, 8, 9]
total = 0
weight_index = 0
# Percorre de trás para frente
for digit in reversed(base_key):
total += int(digit) * weights[weight_index]
weight_index = (weight_index + 1) % 8
remainder = total % 11
dv = 0 if remainder < 2 else 11 - remainder
return int(key[43]) == dvO algoritmo verifica o tamanho da chave e calcula o dígito verificador. Se o dígito calculado for igual ao informado, a chave é matematicamente válida.
Não quer escrever código?
Use nossa ferramenta online gratuita para processar CTE-GENERATOR instantaneamente. Perfeito para testes rápidos.
Usar Ferramenta de CTE-GENERATOR Online