Informe o texto ou a cifra compatível e a senha correspondente. Escolha a operação para conferir um ciclo de criptografia RC4.
Funciona localmente no seu navegadorEsta página criptografa e descriptografa texto com RC4 dentro do navegador. O resultado é texto Base64 no contêiner de senha do CryptoJS que começa com U2FsdGVkX1, e a mesma frase devolve o texto original. O RC4 é uma cifra de fluxo antiga, com vieses conhecidos: use a página para ler dados legados e reproduzir a saída de outras ferramentas, não para proteger algo novo.
O texto e a senha ficam na página: nada é enviado e a operação termina do mesmo jeito com a rede desligada. Nada é armazenado, então uma senha perdida não pode ser recuperada aqui. A entrada e a saída são apenas texto: não há upload de arquivo, nem modo binário, nem botão de download.
A saída é um contêiner de senha do CryptoJS: os oito bytes Salted__ (por isso a string começa com U2FsdGVkX1), oito bytes de sal aleatório e então a saída do RC4, tudo em Base64. O material de chave é derivado da frase e do sal com EVP_BytesToKey e MD5 e tem 32 bytes. Nos testes, uma implementação independente dessa derivação descriptografou a saída desta página, e um texto cifrado montado do mesmo jeito foi descriptografado de volta na página.
A descriptografia lê o sal do próprio contêiner, então só a frase precisa acompanhar o texto cifrado. Um sal diferente significa um fluxo de chave diferente: é por isso que a mesma frase gera cifras distintas a cada execução e que todas elas voltam ao mesmo texto. O texto é lido como UTF-8; o que não for UTF-8 válido não tem representação aqui.
O OpenSSL deriva uma chave RC4 de 16 bytes (openssl enc -rc4 -md md5; -rc4-40 usa cinco), enquanto o CryptoJS desta página usa 32, então um não lê a saída do outro. Nos testes, o OpenSSL transformou um texto cifrado da página em lixo, e esta página respondeu a um contêiner de openssl enc -rc4 com a mensagem de frase incorreta. Dar uma chave maior ao OpenSSL não resolve: -K com 64 caracteres hexadecimais imprimiu “hex string is too long, ignoring excess” e usou os primeiros 16 bytes.
Interoperar exige implementar a mesma derivação de chave: EVP_BytesToKey(MD5) sobre a frase e o sal, pegar 32 bytes e rodar o RC4. Se você quer uma contraparte de linha de comando que funcione sem ajustes, a página AES desta família corresponde exatamente a openssl enc -aes-256-cbc -md md5, e o próprio openssl enc -rc4 é legado: o OpenSSL 3 só o oferece pelo provedor legacy.
Uma senha errada ou uma string que não seja um destes contêineres gera um aviso abaixo dos botões, no idioma da página. A verificação é um teste de validade UTF-8 sobre os bytes descriptografados, então é uma conveniência e não uma garantia: nos testes, 24 tentativas com senha errada foram todas sinalizadas, mas um fluxo de chave que por acaso decodifica como texto passa em silêncio.
O RC4 não oferece autenticação, e nem edições nem truncamento são detectados de forma confiável. Alterar um byte do texto cifrado mudou exatamente um caractere do texto recuperado e não mostrou aviso, e cortar o texto cifrado para cerca de 60 % do comprimento devolveu a primeira parte da frase como se fosse a mensagem inteira. Onde a adulteração importa, use uma cifra autenticada como AES-GCM; esta página serve para reproduzir e inspecionar dados RC4 legados.