Descriptografia da cifra de fluxo Rabbit
Descriptografe dados da cifra de fluxo Rabbit do CryptoJS (Base64 Salted__ com senha) ou texto cifrado bruto com chave hex de 128 bits e IV opcional de 64 bits.
A saída usa o formato "Salted__" do OpenSSL em Base64, com chave e IV derivados da senha – o mesmo formato de CryptoJS.Rabbit.encrypt(text, passphrase). O OpenSSL não possui a cifra Rabbit.
Executa totalmente no seu navegador. Seus dados nunca são enviados.
O que é Descriptografia Rabbit?
Descriptografa dados criptografados com a cifra de fluxo Rabbit, normalmente gerados por CryptoJS.Rabbit.encrypt. Cole a string Base64 U2FsdGVkX1… com a senha, ou o texto cifrado bruto com a chave e o IV em hex.
Como usar Descriptografia Rabbit
- Selecione a mesma Origem da chave usada na criptografia: Senha (compatível com OpenSSL) para dados
U2FsdGVkX1…(“Salted__”) ou Chave + IV brutos (hex) para texto cifrado bruto. - Informe a senha ou a chave hex de 16 bytes (e o IV de 8 bytes, se algum foi usado).
- Cole o Texto cifrado e clique em Descriptografar.
Exemplo
U2FsdGVkX19PD1rihUsU44L3vJkKAmy580QhQw== (passphrase "secret")
Hello Rabbit
Texto cifrado de CryptoJS.Rabbit.encrypt("Hello Rabbit", "secret").
Quando usar Descriptografia Rabbit
Use-a para ler ou depurar dados de aplicações que usam o Rabbit do CryptoJS. Ela não descriptografa sem a senha ou a chave corretas.
Como funciona Descriptografia Rabbit
O salt é lido do cabeçalho Salted__, a chave de 16 bytes e o IV de 8 bytes são derivados de novo (EVP_BytesToKey MD5 ou PBKDF2-SHA256) e o fluxo de chave do Rabbit é combinado com o texto cifrado por XOR. No modo bruto, sua chave e seu IV são usados diretamente. Cifras de fluxo não têm preenchimento, então uma chave errada aparece como saída UTF-8 inválida.
Casos de Uso Comuns
- Descriptografar valores guardados por um app web que usa CryptoJS.Rabbit
- Conferir se sua implementação do Rabbit bate com o CryptoJS
- Recuperar dados de teste durante a depuração
- Migrar dados criptografados com Rabbit para AES
Nota de Segurança
O Rabbit não tem nenhuma quebra prática conhecida, mas é pouco usado, não tem proteção de integridade embutida e poucas bibliotecas o suportam. Use AES-GCM em sistemas novos.
Perguntas Frequentes
Por que recebo um erro de “UTF-8 inválido”?
O mais provável é que a senha ou a chave esteja errada; o Rabbit não consegue detectar isso sozinho. Se os dados originais eram binários, mude a saída para Hex.
Meu texto cifrado não tem o prefixo U2FsdGVkX1.
Então o CryptoJS foi chamado com chave e IV explícitos. Escolha Chave + IV brutos (hex) e informe-os em hex.
Ela suporta o RabbitLegacy?
Não, apenas a variante padrão CryptoJS.Rabbit.