Criptografar / descriptografar texto
Criptografe ou descriptografe texto com AES-256-GCM diretamente no navegador. Nenhum dado sai do seu dispositivo.
Criptografar / descriptografar texto
Digite o texto e a senha e, em seguida, clique em Criptografar ou Descriptografar.
Referência de comandos OpenSSL (AES-256-CBC)
Você também pode criptografar e descriptografar texto pela linha de comando com OpenSSL. Os comandos abaixo usam AES-256-CBC com derivação de chave PBKDF2 (100.000 iterações, SHA-256).
Substitua SEU_TEXTO pelo texto que deseja criptografar e SUA_SENHA pela senha escolhida. Para descriptografar, substitua BASE64_CRIPTOGRAFADO pela saída Base64 do comando de criptografia.
Criptografar
printf '%s' 'SEU_TEXTO' | openssl enc -aes-256-cbc -pbkdf2 -iter 100000 -pass pass:'SUA_SENHA' -a
Descriptografar
echo 'BASE64_CRIPTOGRAFADO' | openssl enc -d -aes-256-cbc -pbkdf2 -iter 100000 -pass pass:'SUA_SENHA' -a
Por que os resultados são diferentes?
A ferramenta web acima usa AES-256-GCM (criptografia autenticada), enquanto os comandos OpenSSL usam AES-256-CBC, porque o openssl enc não oferece suporte ao modo GCM. Esses dois algoritmos produzem formatos de saída completamente diferentes, então você não pode descriptografar a saída do OpenSSL com esta ferramenta web, nem o contrário. No entanto, as duas abordagens derivam a chave de criptografia com PBKDF2 usando os mesmos parâmetros (SHA-256, 100.000 iterações).
Como usar esta ferramenta
Digite ou cole o texto que deseja proteger no campo Texto simples, escolha uma senha forte e clique em Criptografar. A ferramenta retorna uma string codificada em Base64 que contém tudo o que é necessário para a descriptografia: sal, IV, tag de autenticação e texto criptografado, tudo reunido em um único bloco.
Para reverter o processo, mude para o modo Descriptografar, cole a string em Base64, digite a mesma senha e clique em Descriptografar. Se a senha estiver correta e os dados não tiverem sido adulterados, o texto simples original aparecerá imediatamente.
Quão forte é o AES-256-GCM?
Desde que a senha não seja perdida, é extraordinariamente difícil recuperar o texto simples sem ela, mesmo com computadores muito potentes. O AES-256 possui um espaço de chaves de , o que significa que uma busca por força bruta está muito além da capacidade da tecnologia atual e previsível. Quando combinado com o alongamento de chave PBKDF2 (100 000 iterações), até mesmo tentativas casuais de adivinhar a senha se tornam impraticáveis.
Ainda assim, uma senha fraca ou reutilizada reduz bastante essa vantagem. Use sempre uma frase secreta forte e exclusiva.
O que é criptografia simétrica?
A criptografia simétrica usa a mesma chave (derivada da sua senha) tanto para criptografar quanto para descriptografar. Diferentemente da criptografia assimétrica, que envolve um par de chaves pública e privada, os esquemas simétricos são simples e rápidos, o que os torna ideais para proteger dados em repouso ou em trânsito quando ambas as partes compartilham um segredo.
Por que usar AES-256-GCM?
- Criptografia autenticada: o GCM (Galois/Counter Mode) fornece confidencialidade e integridade em uma única operação. Se até mesmo um único bit do texto criptografado for alterado, a descriptografia falha com um erro de autenticação em vez de gerar uma saída corrompida.
- Amplamente confiável: o AES-256 é o padrão de criptografia usado por governos, instituições financeiras e softwares críticos de segurança no mundo todo.
- Padrão de mercado: ele faz parte das suítes de cifra padrão do TLS 1.3, é recomendado pelo NIST e tem suporte nativo nas principais plataformas por meio da Web Crypto API.
Como esta ferramenta usa um único algoritmo fixo, você nunca precisa se preocupar com incompatibilidade de algoritmo entre a criptografia e a descriptografia.
Como funciona o processo de criptografar / descriptografar
- Derivação de chave (PBKDF2) — Sua senha não é usada diretamente como chave de criptografia. Em vez disso, ela é enviada ao PBKDF2 junto com um sal aleatório de 16 bytes e processada por 100 000 iterações de SHA-256. O resultado é uma chave de 256 bits que é computacionalmente cara de reconstruir apenas a partir da senha.
- Criptografia — Um IV (vetor de inicialização) aleatório de 12 bytes é gerado. Em seguida, o AES-256-GCM criptografa o texto simples usando a chave derivada e o IV, produzindo o texto criptografado e uma tag de autenticação de 16 bytes que será verificada durante a descriptografia.
- Empacotamento — O sal, o IV, a tag de autenticação e o texto criptografado são concatenados nessa ordem e codificados como uma única string Base64. Isso significa que quem recebe só precisa da senha; todo o restante já está embutido na saída.
- Descriptografia — A string Base64 é decodificada e dividida novamente em sal, IV, tag e texto criptografado. O PBKDF2 deriva novamente a mesma chave a partir da senha e do sal, e o AES-256-GCM descriptografa os dados. Se a verificação da tag falhar, a operação é interrompida imediatamente, o que protege tanto contra senhas incorretas quanto contra texto criptografado adulterado.
Nota de privacidade
Todo o processamento acontece inteiramente no seu navegador. Nenhum texto simples, senha ou texto criptografado é enviado para um servidor. Você pode verificar isso abrindo o inspetor de rede do navegador: durante a criptografia ou descriptografia, não há nenhuma solicitação de saída.
Como referência, a área de resultado também mostra comandos OpenSSL que executam criptografia AES-256-CBC com a mesma senha e a mesma contagem de iterações. Esses comandos são fornecidos para que você possa explorar a criptografia local em linha de comando, mas a saída deles não pode ser descriptografada por esta ferramenta, e o inverso também é verdadeiro. Há dois motivos para essa incompatibilidade:
- Modo de cifra diferente — Esta ferramenta usa AES-256-GCM (criptografia autenticada). A ferramenta
openssl encnão oferece suporte ao modo GCM, então os comandos recorrem ao AES-256-CBC, que não possui tag de autenticação embutida.
- Formato binário diferente — Esta ferramenta empacota a saída como
salt (16 bytes) + IV (12 bytes) + auth tag (16 bytes) + ciphertext, tudo codificado em Base64. O OpenSSL usa seu próprio formato de cabeçalhoSalted__, com sal de 8 bytes e sem tag de autenticação.
Por causa dessas diferenças, qualquer texto criptografado produzido aqui só pode ser descriptografado aqui, e qualquer texto criptografado produzido por esses comandos OpenSSL só pode ser descriptografado por uma chamada correspondente a openssl enc -d.