Quello che dice Adnan su indentazione dei testi cifrati è corretto, può essere un hard problem , l'unico indizio che hai è" Salted__
" stringa che è come OpenSSL distingue salted e dati crittografati non salati.
Supponendo che il file sia stato crittografato con una password (o una coppia chiave / IV), dovrai provare ogni metodo:
ciphers=$(openssl enc -h 2>&1 | nawk '/^Cipher/ {n++; next}; (n) {print}')
password=xyzzy
for cc in $ciphers; do
openssl enc -d $cc -pass pass:$password \
-in myfile.txt.enc -out outfile$cc.txt 2> /dev/null
rc=$?
# check for non-zero exit, or output file size not > zero bytes
if [ $rc -ne 0 -o ! -s outfile$cc.txt ]; then
echo "Failed with $cc"
else
echo "Possible success with $cc"
fi
done
(Esistono alcuni codici duplicati dovuti agli alias dei nomi, ad esempio aes-128
= aes-128-cbc
.)
Ora vedrai next problema , con molti algoritmi puoi decodificare il testo cifrato con una password errata e non so se l'algoritmo e / o la password fossero corretti .
Esistono diversi metodi per determinare se una password è corretta e una decrittografia ha avuto successo (ad esempio tramite checksum, integrità (ad esempio con HMAC ), padding (es. con PKCS # 5 ) o altra struttura prevista , o conosciuto "left over" state), anche se a volte non essere in grado di dire è in realtà una funzione .