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.
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
- 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.
- 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.
- 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.