DevToolPal
PT

Criptografar e descriptografar com AES

Criptografe e descriptografe texto com AES-GCM ou AES-CBC usando uma frase-senha (PBKDF2) ou uma chave hex, com saída em Base64.

Roda localmente, nada é enviado

Opções

Modo
Algoritmo
Chave
Tamanho da chave

Entrada

0 caracteres · 0 B

Saída

0 caracteres · 0 B

O que faz

AES (Advanced Encryption Standard) é a cifra simétrica usada em quase tudo: HTTPS, criptografia de disco, gerenciadores de senhas e apps de mensagem. A mesma chave secreta criptografa e descriptografa. Esta ferramenta transforma texto em Base64 que você pode colar em qualquer lugar e depois o descriptografa.

Você pode usar:

  • uma frase-senha, transformada em chave de 128 ou 256 bits com PBKDF2-HMAC-SHA256 e um salt aleatório, ou
  • uma chave hex: 32 ou 64 dígitos hexadecimais (128 ou 256 bits), usada diretamente. Clique em Chave aleatória para criar uma.

Há dois modos de operação. AES-GCM é o padrão moderno e detecta adulteração. AES-CBC com padding PKCS#7 é oferecido para compatibilidade com sistemas antigos.

Como usar

  1. Escolha Criptografar ou Descriptografar, o algoritmo e o tipo de chave.
  2. Digite a frase-senha ou cole a chave hex no topo da caixa de entrada.
  3. Cole o texto (ou o Base64 a descriptografar). O resultado aparece à direita; Usar como entrada inverte a direção para conferir a ida e volta.

Formato da saída

A saída é uma única string Base64, para sobreviver a e-mail e chat:

passphrase:  salt (16 bytes) | IV (12 GCM / 16 CBC) | ciphertext (+ 16-byte tag for GCM)
hex key:     IV (12 GCM / 16 CBC) | ciphertext (+ 16-byte tag for GCM)

Para descriptografar, use o mesmo algoritmo, tipo de chave, tamanho de chave e número de iterações da criptografia. Essas configurações ficam no endereço da página, então um link compartilhado as leva, enquanto a chave fica com você.

Escolhendo a frase-senha

O PBKDF2 deixa cada tentativa mais lenta, mas não salva uma frase curta ou comum. Use uma frase longa e aleatória, por exemplo de um gerador de senhas, e compartilhe-a por um canal diferente do texto cifrado. Mais iterações dificultam as tentativas e deixam a descriptografia um pouco mais lenta; de 100.000 a 600.000 é o usual.

Perguntas frequentes

› Escolho GCM ou CBC?

Escolha GCM, a menos que outro sistema exija CBC. O GCM é autenticado, então uma chave errada ou um único byte alterado é detectado em vez de gerar lixo. O CBC só oferece confidencialidade e serve principalmente para compatibilidade com código antigo.

› Por que o texto cifrado muda a cada vez?

Cada criptografia usa um IV aleatório novo e, com frase-senha, também um salt aleatório novo. Ambos ficam no início da saída, então a descriptografia continua funcionando. Reutilizar um IV com a mesma chave, especialmente no GCM, seria uma falha grave.

› Como descriptografo a saída no meu código?

Decodifique o Base64. Com frase-senha, os primeiros 16 bytes são o salt do PBKDF2, depois vem o IV (12 bytes no GCM, 16 no CBC) e então o texto cifrado. Derive a chave com PBKDF2-HMAC-SHA256 e o mesmo número de iterações. Com chave hex não há salt. No GCM os últimos 16 bytes são a tag de autenticação.

› Minha frase-senha ou chave é salva ou enviada?

Não. A criptografia roda no seu navegador com a Web Crypto API. A frase-senha ou chave fica apenas na memória desta página: não é salva, não vai para a barra de endereços nem para os links de compartilhamento, então você pode compartilhar uma mensagem cifrada sem a chave.