Pega el texto y una contraseña: Cifrar produce un contenedor con sal al estilo OpenSSL y Descifrar lee un texto cifrado DES existente. DES es un cifrado de 56 bits pensado para datos antiguos, no para proteger secretos.
Se ejecuta localmente en tu navegadorUn campo de texto y otro para la contraseña: pulsa Cifrar para convertir el texto en un contenedor con sal al estilo OpenSSL, o pega un texto cifrado DES existente y pulsa Descifrar para leerlo. El resultado aparece debajo de los botones.
Todo se ejecuta en la página con CryptoJS, así que el texto y la contraseña no se suben a ningún servidor. DES es un cifrado de 56 bits de los años 70, así que esta página sirve para leer y reproducir datos DES antiguos, no para proteger secretos nuevos.
La salida es el contenedor que producen CryptoJS y openssl enc: los ocho bytes Salted__ (U2FsdGVkX1 en Base64), ocho bytes de sal aleatorios y el texto cifrado. DES es un cifrado por bloques de 8 bytes, en modo CBC con relleno PKCS#7, así que el último bloque añade entre 1 y 8 bytes: entradas de 2 y de 3 bytes acaban ambas en contenedores de 24 bytes.
La sal es aleatoria en cada ejecución, así que el mismo texto con la misma contraseña produce una cadena distinta cada vez; que saliera igual sería un error.
La clave y el IV se derivan de la contraseña y la sal con EVP_BytesToKey basado en MD5, la misma derivación que usa openssl enc con -md md5. Un contenedor de esta página se descifra con openssl enc -d -des-cbc -md md5 -a -k "contraseña", y el texto cifrado que genera ese comando de OpenSSL se puede pegar de vuelta en la página: ambas direcciones están comprobadas.
DES usa una clave de 56 bits y OpenSSL ya avisa de que esta derivación está obsoleta; la página la mantiene a propósito porque es la que usan los datos DES existentes.
Una contraseña incorrecta, un texto que no es un contenedor y un texto cifrado alterado fallan la comprobación de relleno: la página vacía la salida y muestra un aviso en lugar de dejar el resultado anterior. Un campo vacío o una contraseña vacía se rechazan igual, antes de ejecutar nada.
El contenedor no lleva MAC ni etiqueta de autenticación, así que un valor descifrado son datos, no una prueba de autenticidad. Usa DES aquí solo para leer o reproducir datos antiguos, y un cifrado autenticado moderno para lo nuevo.