Informe o texto ou a cifra compatível e a senha correspondente. Escolha criptografar ou descriptografar e copie o resultado.
Funciona localmente no seu navegadorEsta página transforma texto em um bloco TripleDES em Base64 e esse bloco de volta em texto. Cole o conteúdo, digite a senha, pressione Criptografar ou Descriptografar e copie o resultado do painel abaixo dos botões. O trabalho acontece no navegador e nada do que você cola é enviado.
O bloco é o contêiner que o CryptoJS grava: Base64 cujos primeiros bytes decodificados são os oito caracteres Salted__, seguidos de oito bytes de salt aleatório e do texto cifrado. A linha de comando do OpenSSL grava a mesma forma para o Triple DES, então cada lado pode receber a saída do outro.
Ao decodificar o resultado aparecem três partes: os caracteres ASCII Salted__, oito bytes de salt do gerador aleatório do navegador e o próprio texto cifrado, gravado em blocos de 8 bytes com preenchimento PKCS#7. Uma entrada de 31 caracteres ocupa, portanto, 48 bytes de cifra, e uma de um único caractere ocupa oito.
O salt é novo a cada clique, então o mesmo texto com a mesma senha gera uma cadeia Base64 diferente toda vez, e comparar duas execuções a olho não prova que as entradas eram iguais. A senha não é a chave: ela é esticada com MD5 até uma chave TripleDES de 24 bytes e um IV de 8 bytes, exatamente o que a linha de comando do OpenSSL faz com -md md5. O resultado sai quebrado em várias linhas como o da linha de comando, e é lido de volta com ou sem essas quebras.
Medido no OpenSSL 1.1.1k: openssl enc -d -des-ede3-cbc -md md5 -a -k descriptografa um bloco desta página, e um bloco gravado com openssl enc -des-ede3-cbc -md md5 -a -k é descriptografado aqui. Ao receber o salt de um bloco da página, a linha de comando imprimiu a mesma chave de 24 bytes e o mesmo IV de 8 bytes que esta página deriva, e reproduziu aquele bloco byte a byte.
A opção faz parte do formato e não é detalhe: um bloco gravado com -md sha256 ou com -pbkdf2 é recusado aqui, porque outra derivação produz outra chave. Os seus dados não estão corrompidos, apenas foram trancados com outra derivação: descriptografe com a ferramenta que os gravou ou regrave com -md md5 enquanto você tem a senha.
Senha errada, um caractere alterado no Base64 e um texto comum colado como se fosse um bloco terminam do mesmo jeito: o resultado é apagado e uma única mensagem lista as três causas possíveis. A falha não pode ser atribuída a uma delas, porque a checagem de preenchimento falha antes de a chave poder ser julgada. Entrada vazia e senha vazia têm mensagens próprias.
O TripleDES é uma cifra herdada: três chaves DES sobre blocos de 8 bytes, retirada dos projetos novos e mantida viva por dados que já estão guardados nele. Use esta página para ler esses dados ou gravar um valor compatível; para o que é novo, use AES. E uma ida e volta bem-sucedida só prova que a senha coincidia: não diz quem gravou o bloco nem se o texto plano merece confiança.