Cole o texto e uma senha: Criptografar gera um contêiner com sal no estilo OpenSSL e Descriptografar lê um texto cifrado DES existente. O DES tem 56 bits e serve para dados antigos, não para proteger segredos.
Funciona localmente no seu navegadorUm campo de texto e um campo de senha: pressione Criptografar para transformar o texto em um contêiner com sal no estilo OpenSSL, ou cole um texto cifrado DES existente e pressione Descriptografar para lê-lo. O resultado aparece abaixo dos botões.
Tudo roda na página com o CryptoJS, então o texto e a senha não são enviados a nenhum servidor. O DES é uma cifra de 56 bits dos anos 1970, então esta página serve para ler e reproduzir dados DES antigos, não para proteger segredos novos.
A saída é o contêiner que o CryptoJS e o openssl enc produzem: os oito bytes Salted__ (U2FsdGVkX1 em Base64), oito bytes de sal aleatórios e o texto cifrado. O DES é uma cifra de blocos de 8 bytes, no modo CBC com preenchimento PKCS#7, então o último bloco acrescenta de 1 a 8 bytes: entradas de 2 e de 3 bytes terminam ambas em contêineres de 24 bytes.
O sal é aleatório a cada execução, então o mesmo texto com a mesma senha gera uma string diferente toda vez; sair igual seria um defeito.
A chave e o IV são derivados da senha e do sal com o EVP_BytesToKey baseado em MD5, a mesma derivação que o openssl enc usa com -md md5. Um contêiner desta página é descriptografado com openssl enc -d -des-cbc -md md5 -a -k "senha", e o texto cifrado gerado por esse comando do OpenSSL pode ser colado de volta na página: os dois sentidos foram testados.
O DES usa uma chave de 56 bits e o OpenSSL já avisa que essa derivação está obsoleta; a página mantém a derivação antiga de propósito, porque é a que os dados DES existentes usam.
Senha errada, texto que não é um contêiner e texto cifrado alterado falham na checagem de preenchimento: a página limpa a saída e mostra um aviso em vez de manter o resultado anterior. Campo vazio ou senha vazia são recusados do mesmo jeito, antes de executar qualquer coisa.
O contêiner não tem MAC nem etiqueta de autenticação, então um valor descriptografado é dado, não prova de autenticidade. Use o DES aqui só para ler ou reproduzir dados antigos e uma cifra autenticada moderna para o que for novo.