45 lines
1.1 KiB
Bash
Executable File
45 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Funktion: Passwort abfragen
|
|
echo "Bitte ein Passwort eingeben:"
|
|
read -s password
|
|
|
|
echo "Bestätigen Sie das Passwort:"
|
|
read -s password_confirm
|
|
|
|
if [ "$password" != "$password_confirm" ]; then
|
|
echo "Passwörter stimmen nicht überein."
|
|
exit 1
|
|
fi
|
|
|
|
# Funktion: Text abfragen
|
|
echo "Geben Sie den Text ein, der verschlüsselt werden soll:"
|
|
read plaintext
|
|
|
|
# Temporäre Dateien
|
|
tmp_plaintext="/tmp/plaintext.txt"
|
|
tmp_encrypted="/tmp/encrypted.bin"
|
|
output_file="message.txt"
|
|
|
|
# Text in temporäre Datei schreiben
|
|
echo "$plaintext" > "$tmp_plaintext"
|
|
|
|
# Text mit OpenSSL verschlüsseln
|
|
echo "$password" | openssl enc -aes-256-cbc -salt -pass pass:"$password" -in "$tmp_plaintext" -out "$tmp_encrypted"
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo "Fehler bei der Verschlüsselung."
|
|
rm -f "$tmp_plaintext" "$tmp_encrypted"
|
|
exit 1
|
|
fi
|
|
|
|
# Passwort in die erste Zeile schreiben und verschlüsselten Text anhängen
|
|
echo "$password" > "$output_file"
|
|
cat "$tmp_encrypted" >> "$output_file"
|
|
|
|
# Temporäre Dateien löschen
|
|
rm -f "$tmp_plaintext" "$tmp_encrypted"
|
|
|
|
# Erfolgsmeldung
|
|
echo "Der Text wurde erfolgreich verschlüsselt und in $output_file gespeichert."
|