Pular para o conteúdo
Aback Tools Logo

Codificador/Decodificador de Tokens Fernet

Criptografe mensagens em tokens Fernet (AES-128-CBC + HMAC-SHA256) ou decodifique e verifique tokens Fernet com validação de timestamp e HMAC. Compatível com a biblioteca cryptography do Python. Todo o processamento é local e privado no seu navegador.

Fernet Token Encoder/Decoder
Encrypt messages into Fernet token format (AES-128-CBC + HMAC-SHA256) compatible with Python's cryptography library. Decode and verify Fernet tokens with timestamp and HMAC validation. All processing is local in your browser.

The key is derived from your password using PBKDF2 + HKDF (480,000 iterations)

Enter a password and message, then click Encrypt to Fernet Token

Por que usar nosso codificador/decodificador de tokens Fernet?

  • Compatível com a biblioteca cryptography do Python: tokens Fernet gerados pelo nosso codificador podem ser descriptografados pela biblioteca cryptography.fernet do Python, e vice-versa. Compatibilidade total com a especificação padrão Fernet (AES-128-CBC + HMAC-SHA256).
  • Verificação de assinatura HMAC: cada token Fernet inclui uma assinatura HMAC-SHA256 que é verificada durante a descriptografia. Se o token foi adulterado ou a senha está errada, a checagem HMAC falha imediatamente.
  • Validação de timestamp e idade do token: cada token Fernet contém um timestamp Unix embutido mostrando exatamente quando foi criado. Ao descriptografar, o codificador Fernet mostra a idade do token e a hora de criação para auditoria e verificação de expiração.
  • Derivação de chave PBKDF2 segura: sua senha é convertida em uma chave de 32 bytes compatível com Fernet usando PBKDF2 com 480.000 iterações e expansão HKDF. O formato de saída combinada de chave e token facilita o compartilhamento — basta colar a string inteira.

Casos de uso comuns do codificador/decodificador de tokens Fernet

  • Troca segura de mensagens: use o codificador de tokens Fernet para criptografar mensagens antes de enviá-las por e-mail, chat ou redes sociais. O destinatário pode descriptografar o token Fernet com a mesma senha. Nenhum serviço de terceiros é necessário.
  • Integração para desenvolvedores Python: desenvolvedores Python podem usar este codificador Fernet online para gerar tokens rapidamente para testes ou depuração. A saída é totalmente compatível com o módulo cryptography.fernet do Python — não é preciso escrever scripts de teste.
  • Geração de tokens para API: gere tokens Fernet para autenticação de API ou gestão de sessões. O timestamp embutido permite que os servidores verifiquem o quão recente é o token, enquanto o HMAC garante que ele não foi adulterado.
  • Armazenamento de segredos de configuração: criptografe valores de configuração sensíveis — chaves de API, senhas de banco de dados ou credenciais de serviços — em tokens Fernet. Guarde os tokens em arquivos de configuração e descriptografe-os em tempo de execução com a senha mestra.
  • Portabilidade de dados entre plataformas: tokens Fernet são independentes de plataforma. Criptografe dados no navegador com nosso codificador Fernet e descriptografe-os depois em Python, Go, Rust ou qualquer linguagem com uma biblioteca compatível com Fernet.
  • Criptografia de cookies e sessões: criptografe dados de sessão web ou cookies em tokens Fernet. A assinatura HMAC impede adulterações, enquanto o timestamp permite a expiração da sessão. Todo o processamento é local no navegador para testes e protótipos.

O que é um token Fernet?

Um token Fernet é um formato de criptografia simétrica definido pela biblioteca cryptography do Python. Ele combina criptografia AES-128-CBC com autenticação HMAC-SHA256. Cada token Fernet contém um byte de versão, um timestamp Unix, um vetor de inicialização (IV) aleatório, o texto cifrado e uma assinatura HMAC — tudo empacotado em uma string codificada em Base64. O formato do token garante tanto confidencialidade quanto integridade: o texto cifrado não pode ser lido sem a chave, e o HMAC impede adulterações não detectadas. Essa proteção dupla torna os tokens Fernet adequados para troca segura de mensagens, gestão de sessões e criptografia de configurações.

Como funciona nosso codificador/decodificador de tokens Fernet

  1. Derivação da chave: sua senha é convertida em uma chave Fernet de 32 bytes usando PBKDF2 com 480.000 iterações de SHA-256, seguidas de expansão HKDF. Os primeiros 16 bytes se tornam a chave de assinatura HMAC e os últimos 16 bytes se tornam a chave de criptografia AES.
  2. Criptografia (codificação): um IV aleatório de 16 bytes é gerado. O texto em claro é preenchido com PKCS7, criptografado com AES-128-CBC e montado no formato do token: byte de versão (0x80) + timestamp de 8 bytes + IV + texto cifrado + HMAC. Todo o token binário é codificado em Base64.
  3. Descriptografia (decodificação): o token é decodificado de Base64, analisado em seus componentes, o HMAC é verificado com a chave de assinatura e, se for válido, o texto cifrado é descriptografado com AES-128-CBC e tem o preenchimento removido.

Estrutura do token Fernet

  • Versão (1 byte): sempre 0x80 (128), identificando isto como um token Fernet de versão 2. Versões futuras podem usar valores diferentes.
  • Timestamp (8 bytes): timestamp Unix em big-endian indicando quando o token foi criado. Útil para checagens de expiração e auditoria.
  • IV (16 bytes): vetor de inicialização aleatório para AES-128-CBC. Um IV diferente é gerado em cada criptografia, garantindo que textos em claro idênticos produzam tokens diferentes.
  • Texto cifrado (variável): o texto em claro preenchido com PKCS7 e criptografado com AES-128-CBC usando a chave de criptografia de 16 bytes derivada da sua senha.
  • HMAC (32 bytes): HMAC SHA-256 sobre a versão, o timestamp, o IV e o texto cifrado, calculado com a chave de assinatura de 16 bytes. Isso impede adulterações não detectadas.

Privacidade, segurança e observações de uso

O codificador/decodificador de tokens Fernet processa todos os dados inteiramente no seu navegador usando a Web Crypto API. Nenhum dado é enviado a qualquer servidor, armazenado em qualquer base de dados ou compartilhado com terceiros. As operações criptográficas — derivação de chave PBKDF2, criptografia/descriptografia AES-128-CBC e assinatura/verificação HMAC-SHA256 — usam todas as primitivas criptográficas nativas do navegador para máxima segurança. Guarde sua senha em segurança: não há mecanismo de recuperação de senha. O formato de saída combinada de chave e token permite compartilhar tanto o material da chave quanto o token em uma única string.

Perguntas frequentes

Um token Fernet é um formato de criptografia simétrica definido pela biblioteca cryptography do Python que combina criptografia AES-128-CBC com autenticação HMAC-SHA256. Cada token contém um byte de versão, um timestamp Unix, um IV aleatório, o texto cifrado e uma assinatura HMAC — tudo empacotado em uma string codificada em Base64 que pode ser transmitida ou armazenada com segurança.

Sim. Nosso codificador/decodificador de tokens Fernet é totalmente compatível com o módulo cryptography.fernet do Python. Tokens gerados no navegador podem ser descriptografados no Python, e tokens gerados pelo módulo Fernet do Python podem ser descriptografados aqui, desde que a mesma chave/senha seja usada. Observe, porém, que nossa ferramenta usa PBKDF2 + HKDF para derivar a chave a partir da senha, enquanto o Fernet do Python costuma usar uma chave bruta de 32 bytes.

Sua senha é convertida em uma chave Fernet de 32 bytes usando PBKDF2 com 480.000 iterações de SHA-256, seguidas de expansão HKDF. Os primeiros 16 bytes se tornam a chave de assinatura HMAC e os últimos 16 bytes se tornam a chave de criptografia AES. Por conveniência, nosso formato de saída combinada coloca o salt do PBKDF2 antes da chave, tornando a saída autossuficiente para descriptografia.

O formato combinado é um recurso de conveniência que coloca o material de chave codificado com o salt antes do token Fernet, separados por um ponto. Você pode colar a string inteira para descriptografar depois — o decodificador extrairá o salt, regenerará a chave a partir da sua senha e descriptografará o token. Como alternativa, você pode cortar no ponto e usar a segunda parte como token Fernet independente.

Sim, totalmente. Todas as operações criptográficas — derivação de chave PBKDF2, criptografia/descriptografia AES-128-CBC e assinatura/verificação HMAC-SHA256 — usam a Web Crypto API e rodam inteiramente no seu navegador. Sua senha e o texto em claro nunca saem do seu dispositivo. Nenhum dado é enviado, armazenado ou compartilhado com qualquer servidor.

A verificação da assinatura HMAC-SHA256 falhará e o decodificador reportará um erro. O HMAC é calculado sobre o byte de versão, o timestamp, o IV e o texto cifrado, então qualquer modificação em qualquer parte do token fará a checagem HMAC falhar. Isso impede adulterações não detectadas e garante a integridade dos seus dados criptografados.

Não. Uma senha é necessária tanto para criptografar quanto para descriptografar. A especificação Fernet exige uma chave de 32 bytes, e nossa ferramenta deriva essa chave da sua senha usando PBKDF2. A senha é a única forma de criptografar ou descriptografar tokens — não há mecanismo de recuperação, então guarde bem sua senha.

Tokens Fernet têm um custo fixo de 57 bytes (versão 1 + timestamp 8 + IV 16 + HMAC 32) antes do texto cifrado. Seu texto em claro é preenchido até o limite de 16 bytes mais próximo e criptografado. Uma mensagem de 10 bytes gera cerca de 92 bytes de token em Base64. Não há limite prático de tamanho, já que todo o processamento é local.

Sim, 100 % gratuito. Sem cadastro, sem plano premium e sem limite de uso. A ferramenta funciona inteiramente no seu navegador usando a Web Crypto API e sempre será gratuita no Aback Tools.