Um desenho que só o seu arquivo faz: como nasce a impressão digital visual do Docmint
Ninguém compara 64 caracteres de olho. Por isso cada registro do Docmint ganhou um desenho de 8 por 8 pontos, tirado direto do hash. Veja, passo a passo, como ele é gerado e o que ele garante (e o que não garante).
Por Equipe Docmint · 06/10/2026 · 7 min de leitura

Faça um teste rápido. Estes dois códigos são iguais?
cbc1b607be3a2a54946ae184a2c125f7c91cc70409058019a425ee8c076fda8c
cbc1b607be3a2a54946ae184a2c125f7c91cc70409058019a425ee8c076fda8e
Não são. Só o último caractere muda, de c para e. Se você precisou voltar e conferir letra por letra, você não está sozinho. Em 1999, os pesquisadores Adrian Perrig e Dawn Song abriram um artigo sobre segurança com uma constatação incômoda: as pessoas são lentas e pouco confiáveis quando precisam comparar sequências de caracteres sem significado. Um hash é exatamente isso.
Foi para encurtar esse caminho entre o código e o olho que o Docmint ganhou a impressão digital visual: um desenho de 8 por 8 pontos, gerado a partir do hash de cada registro. Este texto mostra como ele nasce, por que ele muda por inteiro quando um único caractere muda, e o que ele garante e não garante.
Onde ela aparece
Hoje o desenho aparece em quatro lugares:
Na demonstração da página inicial. Ao lado do arquivo de exemplo, ele muda a cada letra que você digita, junto com o hash. Os pontos que deixaram de bater com o original ficam vermelhos.
Nos detalhes de cada registro, em Meus registros, com a legenda "Impressão digital única do registro".
No recibo em PDF, ao lado do hash.
No resultado de Verificar autenticidade, para você conferir com o desenho do recibo.
Em todos eles, o desenho é calculado no seu navegador, a partir do hash. Não há sorteio, servidor ou arquivo de imagem guardado em lugar nenhum. O mesmo hash produz o mesmo desenho em qualquer computador, hoje ou daqui a dez anos.
Primeiro, o hash
Tudo começa na função SHA-256, que transforma qualquer conteúdo, de uma frase a um vídeo, num resumo de 256 bits. Se o conceito é novo para você, explicamos o SHA-256 em detalhe aqui. Para entender o desenho, bastam três fatos:
o resultado é escrito com 64 caracteres;
cada caractere é um dígito hexadecimal, que pode valer de 0 a 9 ou de
aaf, ou seja, 16 valores possíveis (de 0 a 15);cada um desses dígitos carrega 4 bits do resumo: 64 dígitos vezes 4 bits dão os 256 bits do SHA-256.
E 64, por acaso, é 8 vezes 8.
Do hash ao desenho, em três passos
Vamos usar o mesmo exemplo da página inicial, a frase Transferência autorizada: R$ 5.000,00. O hash SHA-256 dela é o primeiro código do início deste texto, aquele que termina em 8c.
Cada dígito do hash vira um ponto da grade, na mesma ordem em que é lido.
1. Quebrar o hash em 8 linhas de 8
Os 64 dígitos são distribuídos numa grade de 8 por 8, na ordem de leitura de um texto: os 8 primeiros formam a primeira linha, da esquerda para a direita, os 8 seguintes formam a segunda, e assim por diante. No exemplo, a primeira linha é c b c 1 b 6 0 7.
2. Um ponto por dígito
Cada dígito vira um ponto, sempre na mesma posição. Nenhum dígito fica de fora e nenhum é usado duas vezes. Não há espelhamento nem cores sorteadas: o desenho é o hash inteiro, só que desenhado.
3. O valor decide o brilho
Aqui está a única regra do desenho: quanto maior o valor do dígito, mais forte o brilho do ponto. O 0 fica quase apagado, com 6% de intensidade, e o f acende por inteiro, com 100%. Entre eles, cada valor sobe um degrau igual, de pouco mais de 6 pontos.
A régua completa: 16 valores, 16 intensidades diferentes.
Como nenhum valor divide a intensidade com outro, o desenho representa o hash exatamente. Nenhuma informação se perde no caminho: a partir de uma imagem digital do desenho, um programa consegue reconstruir o hash, dígito por dígito.
Volte à primeira linha do exemplo, c b c 1 b 6 0 7. Pela régua, ela vira 81%, 75%, 81%, 12%, 75%, 44%, 6% e 50%. É exatamente a primeira linha do desenho: três pontos fortes, um quase apagado, um forte, um médio, um apagado e outro médio.
Por que um caractere muda o desenho inteiro
O SHA-256 tem uma propriedade chamada efeito avalanche: uma alteração mínima no conteúdo produz um hash completamente diferente, sem relação aparente com o anterior. Como o desenho é o hash, ele herda essa propriedade.
Apagar o último zero da frase de exemplo muda 60 dos 64 dígitos do hash.
No exemplo, apagar o último zero de R$ 5.000,00 deixa só 4 dos 64 dígitos iguais. E 4 é exatamente o que se esperaria por puro acaso: cada dígito tem 1 chance em 16 de coincidir, e 64 dividido por 16 dá 4. Em outras palavras, depois de uma alteração, o novo desenho não guarda nenhuma lembrança do antigo.
É isso que a demonstração da página inicial mostra ao vivo. Ao editar o texto, os pontos cujo dígito mudou ficam vermelhos. Ao desfazer a edição, o desenho original volta, ponto por ponto, porque o hash original volta.
E nos registros em lote?
Quando você registra vários arquivos de uma vez, cada um tem seu próprio hash SHA-256. Esses hashes são combinados numa estrutura chamada árvore Merkle, que usa outra função criptográfica, a Keccak-256, para chegar a um único resumo do conjunto: a raiz Merkle. É ela que vai para a blockchain.
A raiz também tem 256 bits, escritos em 64 dígitos hexadecimais, e o desenho do lote é gerado a partir dela, pela mesma regra. Como a raiz depende de todos os arquivos, alterar qualquer um deles mudaria a raiz e, portanto, o desenho. Por isso a legenda dos lotes diz que qualquer alteração em um dos arquivos resultaria em outro padrão.
Uma ideia com 25 anos de história
Desenhar hashes não é uma invenção nossa, e é bom saber de onde a ideia vem:
1999: Random Art. No artigo Hash Visualization: A New Technique to Improve Real-World Security, Perrig e Song propuseram trocar sequências sem sentido por imagens estruturadas, geradas a partir do hash, para facilitar comparações feitas por pessoas.
2007: identicons. Em 18 de janeiro de 2007, o desenvolvedor Don Park publicou a ideia de um pequeno desenho de 9 blocos gerado a partir do hash de um endereço IP, para identificar visualmente cada usuário sem expor o endereço dele.
2008: o SSH. O OpenSSH 5.1, lançado em 22 de julho de 2008, passou a desenhar as chaves dos servidores em caracteres, opção chamada VisualHostKey. As notas da versão citam como inspiração os esquemas gráficos conhecidos como "random art".
2013: o GitHub. O GitHub passou a dar a quem não tinha foto um desenho de 5 por 5 "pixels", gerado a partir do hash do identificador do usuário, acendendo ou apagando cada pixel conforme os valores pares ou ímpares do hash.
A versão do Docmint é a mais literal da família: uma grade com exatamente um ponto para cada dígito do hash, e uma intensidade para cada valor. Escolhemos assim porque, num produto que existe para provar integridade, o desenho deve ser o próprio hash, e não uma interpretação artística dele.
O que o desenho garante, e o que ele não garante
Vale ser honesto sobre o papel de uma imagem num assunto sério.
Ele não acrescenta segurança. O desenho é o hash, apresentado de outro jeito. A prova continua sendo o hash registrado na blockchain e a conferência do arquivo original, que você faz em Verificar autenticidade.
Ele facilita o reconhecimento. É mais fácil notar que dois desenhos são diferentes do que achar o único caractere trocado entre dois códigos de 64. Para distinguir registros parecidos numa lista, ou perceber de relance que algo mudou, o desenho ajuda.
O olho tem limites. Como o desenho é o hash inteiro, dois desenhos só são idênticos quando os hashes são idênticos. Mas os 16 degraus de brilho são próximos entre si, e tons vizinhos, como os do 6 e do 7, são difíceis de separar a olho. Uma foto ou uma impressão também altera os tons. Para uma conferência que valha como prova, compare o hash completo, ou deixe o Docmint comparar por você.
Em resumo: o hash é a impressão digital, e o desenho é o jeito de você reconhecê-la com os olhos. Quer ver o efeito avalanche acontecer? Vá até a página inicial, apague uma letra do arquivo de exemplo e observe os pontos mudarem.
Fontes
Identicon (Wikipedia), com referência ao post original de Don Park, de 18/1/2007.
NIST, FIPS 180-4: Secure Hash Standard (SHA-256).
Os hashes e os desenhos deste texto foram calculados com SHA-256 sobre as frases em UTF-8, pela mesma regra usada no site, e podem ser reproduzidos por qualquer pessoa.