Como Validar Chave de Acesso MDF-e em Java

Validação de chaves de Manifesto Eletrônico de Documentos Fiscais (MDF-e) em Java.

Introdução

MDF-e é crucial para o transporte interestadual. Sua validação em Java garante conformidade fiscal.

O Algoritmo

Usa o Módulo 11 padrão para calcular o dígito verificador da chave de 44 posições.

Implementação em Java

mdfe-generator.jsjava
public class MdfeValidator {
    public static boolean validate(String key) {
        if (key == null || key.length() != 44 || !key.matches("\\d+")) return false;
        
        String baseKey = key.substring(0, 43);
        int[] weights = {2, 3, 4, 5, 6, 7, 8, 9};
        int total = 0;
        int weightIndex = 0;
        
        for (int i = baseKey.length() - 1; i >= 0; i--) {
            total += Character.getNumericValue(baseKey.charAt(i)) * weights[weightIndex];
            weightIndex = (weightIndex + 1) % 8;
        }
        
        int remainder = total % 11;
        int dv = (remainder < 2) ? 0 : 11 - remainder;
        return Character.getNumericValue(key.charAt(43)) == dv;
    }
}

Validador estático simples e thread-safe para chaves MDF-e em aplicações Java.

Não quer escrever código?

Use nossa ferramenta online gratuita para processar MDFE-GENERATOR instantaneamente. Perfeito para testes rápidos.

Usar Ferramenta de MDFE-GENERATOR Online