String verschlüsseln

String verschlüsseln

am 21.04.2008 20:45:11 von Andreas Bihler

Hallo...

Ist es möglich, eine Zahlen-Buchstaben-Kombination wie z.B.
A10052005ZX mittels eines zuvor festgelegten Passwortes
zu verschlüsseln, so dass eine Zahlen-Buchstaben-Kombination mit
etwa 10-15 Stellen raus kommt?

Wenn ja, wie?

Gruß
Andreas

Re: String verschlüsseln

am 21.04.2008 21:38:40 von Johannes Mueller

Andreas Bihler wrote:
> Hallo...
>
> Ist es möglich, eine Zahlen-Buchstaben-Kombination wie z.B.
> A10052005ZX mittels eines zuvor festgelegten Passwortes
> zu verschlüsseln, so dass eine Zahlen-Buchstaben-Kombination mit
> etwa 10-15 Stellen raus kommt?
>
> Wenn ja, wie?

Willst du das ganze verschlüsseln, oder willst du nur eine Prüfsumme. Ich
glaube nicht, dass es möglich ist beliebig lange Zeichenketten reversibel in
10-15 Stellen zu verschlüsseln.

Für Prüfsummen bieten sich sha1() oder md5() an. Zum verschlüsseln könnte
man mcrypt() benutzen.

Grüße
Johannes

--
Emails ohne "[nospam]" im Betreff werden kommentarlos gelöscht.

Re: String verschlüsseln

am 21.04.2008 21:38:46 von Michael Herrmann

Hallo,

> Ist es möglich, eine Zahlen-Buchstaben-Kombination wie z.B.
> A10052005ZX mittels eines zuvor festgelegten Passwortes
> zu verschlüsseln, so dass eine Zahlen-Buchstaben-Kombination mit
> etwa 10-15 Stellen raus kommt?

kommt drauf an, was Du damit machen willst.
Wenn Du eine sogenannte Einweg-Verschlüsselung, die nicht wieder
entschlüsselt werden kann, willst, dann nimm md5.
Also:

$verschluesselt=md5("A10052005ZX");

Du kommst dann halt nicht mehr von dem verschlüsselten String auf den
ursprünglichen String.

Aber Du kannst z.B. prüfen, ob das, was der User gerade in sein Formular
eingegeben hat, nach Anwendung von md5 wieder dasselbe ergibt.
Das ist eigentlich die sicherste Variante.

Also:

$passwort=$_POST['passwort'];

if (md5($passwort)==$verschluesselt) {
// alles gut
} else {
// nix is gut
}



--
Michael Herrmann

Re: String verschlüsseln

am 21.04.2008 21:47:46 von Heiko Richler

Andreas Bihler wrote:
> Ist es möglich, eine Zahlen-Buchstaben-Kombination wie z.B.
> A10052005ZX mittels eines zuvor festgelegten Passwortes
> zu verschlüsseln, so dass eine Zahlen-Buchstaben-Kombination mit
> etwa 10-15 Stellen raus kommt?

Ja, das ist möglich.

> Wenn ja, wie?

Das hängt nun davon ab was Du machen möchtest:
- Möchtest Du die Ursprüngliche Zeichenkette mit dem selben Passwort
entschlüsseln können?
-> Symmetrische Verschlüsselung
- Möchtest Du lediglich sicher stellen, dass Du wieder die selbe
Zeichenkette bekommen hast?
-> Einwegverschlüsselung (Hashes)

Im Manual einfach mal nach SHA, MD5 oder mcrypt suchen. Wie Du das
verschlüsselte Ergebnis abspeichern möchtest hängt in gewissen Umfang
davon ab, was Du haben möchtest. Oft werden Hex-Werte geliefert die
länger als 15 Zeichen sind. Aber bei einer anderen Darstellung, z.B.
base64, lässt sich da noch Platz sparen.

Die Frage ist aber zunächst die nach dem Ziel. Daraus ergeben sich oft
schon übliche Verfahren die sich bewährt haben.

Heiko
--
http://portal.richler.de/ Namensportal zu Richler
http://www.richler.de/ Heiko Richler: Computer - Know How!
http://www.richler.info/ private Homepage