Todos os artigos

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

#hash# impressão digital# sha-256# design# segurança
Um desenho que só o seu arquivo faz: como nasce a impressão digital visual do Docmint

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 a a f, 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.

Três passos: a frase de exemplo, o hash dela organizado em 8 linhas de 8 dígitos e a grade de 8 por 8 pontos resultante

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.

Régua com os 16 dígitos hexadecimais, do 0 ao f, cada um com sua intensidade: de 6% no 0 a 100% no f, em degraus iguais

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.

Dois desenhos lado a lado: o da frase original e o da mesma frase sem o último zero, com quase todos os pontos em vermelho por terem mudado

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

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.