PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bash-verschlüsserlung



apollo
22-03-2003, 06:52
Hallo,

Ich habe vor, in der bash eine einfache Verschlüsselung zu schreiben, nach diesem Schema:

function crypt()
{
if [ $1 = A ]
then
echo "1"

elif [ $1 = B ]
echo "2"
.
.
.
fi
}
read -p "command:" input
crypt $input

Also wird nur Buchstabe A mit 1 vertauscht, B mit 2 usw.
Wenn ich das allerdings so schreibe, muss ich eine 24-fache if-Abfrage schreiben, um nur mal das Alphabet für den ersten Buchsteaben habe. Wie kann ich das Ganze soweit verkürzen, dass es schneller geht?

Danke im Voraus

Jasper
22-03-2003, 10:56
Original geschrieben von apollo

Ich habe vor, in der bash eine einfache Verschlüsselung zu schreiben, nach diesem Schema:

function crypt()
{
if [ $1 = A ]
then
echo "1"

elif [ $1 = B ]
echo "2"
.
.
.
fi
}
read -p "command:" input
crypt $input

Also wird nur Buchstabe A mit 1 vertauscht, B mit 2 usw.
Wenn ich das allerdings so schreibe, muss ich eine 24-fache if-Abfrage schreiben, um nur mal das Alphabet für den ersten Buchsteaben habe. Wie kann ich das Ganze soweit verkürzen, dass es schneller geht?


nimm 'tr':

tr 'ABC..' '123..'

-j

apollo
23-03-2003, 16:25
Könntest du mir die 'tr' -Methode bitte noch im ganzen Quelltext schreiben? Ich weiß nicht wirklich wo, -und wie ich das genau verwenden soll!

arthur
23-03-2003, 16:58
tr = translate characters ist ein standard unix kommando

The tr utility copies the standard input to the standard output with substitution or deletion of selected characters. The options specified and the string1 and string2 operands control translations that occur while copying characters and single-character collating elements.

msi
23-03-2003, 18:21
eine deartige Verschlüsselung ist extrem unsicher. Wenn du etwas sicher verschlüsseln willst, dann benutz DES oder andere getestete Algorithmen!