Verschlüsselung
Stefan Lippmann
- php
0 Sven Rautenberg0 Stefan Lippmann0 Dirk0 Christian Seiler0 catzma0 Klaus Mock0 catzma
0 Michael Schröpl
0 linksetzer
Wie kann ich einen mit crypt(); o. md5(); o. crc32() verschlüsselten Wert wieder entschlüsseln??
Moin!
Wie kann ich einen mit crypt(); o. md5(); o. crc32() verschlüsselten Wert wieder entschlüsseln??
crypt() - Garnicht, das ist eine Einweg-Hash-Funktion (und eine relativ schlechte noch dazu)
md5() - Garnicht, das ist eine Einweg-Hash-Funktion (aber eine sehr gute)
crc32() - Garnicht, daß ist eine Prüfsummenfunktion, die z.B. dazu benutzt werden kann, die unveränderte Datenübertragung sicherzustellen, indem sowohl der Sender als auch der Empfänger den CRC32-Wert einer Botschaft ermitteln und diese dann miteinander vergleichen.
Ach ja: Ein Gruß, ein Bitte oder ein Danke wären nett gewesen!
- Sven Rautenberg
Hi Sven,
zuersteinmal DANKE! Hast ja recht.
und zum 2. für was brauch ich diese funktionen dann? Ich will einen wert verschlüsselt übermitteln. was gibts dann für alternativen.
Hey,
und zum 2. für was brauch ich diese funktionen dann?
Damit z.B. Passwörter nicht direkt in Datenbank oder /Script
gespeichert werden. Zusammen mit ner Passphrase testet man dann
auf Vergleich (strcmp(,);)
Ich will einen wert verschlüsselt übermitteln. was gibts dann für >>alternativen.
Wirklich verschlüsseln geht da nicht, man kann
lediglich ein bischen Codieren (base64();).
Gibt aber genügend Tools, für die das Klartext ist.
Wenn Du Variablen von Seite zu Seite trägst,
mußt Du Sie in jedem Fall selbst auf Konsistenz prüfen,
oder Sie z.B. mit ner Session übergeben.
Gruesse ... Dirk
Hallo,
und zum 2. für was brauch ich diese funktionen dann? Ich will einen wert verschlüsselt übermitteln. was gibts dann für alternativen.
1. Beispiel Nutzen von Einweg-Hash-Funktionen: grundsätzlich werden Passwörter mit einer Einweg-Hash-Funktion verschlüsselt. Wenn das Passwort geprüft werden soll, dann wird die Eingabe verschüsselt und mit dem verschüsseltem Text verglichen. Dadurch, dass das gespeicherte Passwort nicht entschlüsselt werden kann, ist es praktisch sicher; das einzige, was einem neugierigen Menschen übrig bleibt, ist probieren. Und bei einem hinreichend langen und komplizierten Passwort, dauer das sehr sehr lange ...
2. Alternativen: asymetrische Verschlüsselungsverfahren (wie sie z.B. in PGP verwendet werden); diese müsste man in PHP selbst implementieren. symetrische Verschlüsselungsverfahren: dafür gibt es in PHP die MCrypt-Funktionen: http://www.php.net/manual/en/ref.mcrypt.php
Grüße,
Christian
Hallo.
und zum 2. für was brauch ich diese funktionen dann? Ich will einen wert verschlüsselt übermitteln. was gibts dann für alternativen.
- Beispiel Nutzen von Einweg-Hash-Funktionen: grundsätzlich werden Passwörter mit einer Einweg-Hash-Funktion verschlüsselt. Wenn das Passwort geprüft werden soll, dann wird die Eingabe verschüsselt und mit dem verschüsseltem Text verglichen. Dadurch, dass das gespeicherte Passwort nicht entschlüsselt werden kann, ist es praktisch sicher; das einzige, was einem neugierigen Menschen übrig bleibt, ist probieren. Und bei einem hinreichend langen und komplizierten Passwort, dauer das sehr sehr lange ...
Noch ein Text zu Hash-Funktionen:
http://www.net529.de/text/kryptologie/hash/hash.html
catzma
Hallo,
- Beispiel Nutzen von Einweg-Hash-Funktionen: grundsätzlich werden Passwörter mit einer Einweg-Hash-Funktion verschlüsselt. Wenn das Passwort geprüft werden soll, dann wird die Eingabe verschüsselt und mit dem verschüsseltem Text verglichen. Dadurch, dass das gespeicherte Passwort nicht entschlüsselt werden kann, ist es praktisch sicher; das einzige, was einem neugierigen Menschen übrig bleibt, ist probieren. Und bei einem hinreichend langen und komplizierten Passwort, dauer das sehr sehr lange ...
Wobei gesichert sein muß, daß ein potentieller Angreifer keine Chance hat, das so verschlüsselte Passwort mitlesen kann, und sich gegebenenfalls damit Zugang zum System verschaffen kann.
- Alternativen: asymetrische Verschlüsselungsverfahren (wie sie z.B. in PGP verwendet werden);
Es muß nicht zwangsläufig ein asymmetrisches Verfahren sein. DES, TripleDES, RC4 usw. sind auch Datenverschlüsselungsverfahren, welche aber für das ver- und entschlüsseln den gleichen Schlüssel verwenden.
Asymmetrische verwenden dagegen für das Verschlüsseln den einen Key, und für das Entschlüsseln einen passenden anderen.
Grüße
Klaus
Hallo.
- Alternativen: asymetrische Verschlüsselungsverfahren (wie sie z.B. in PGP verwendet werden);
Es muß nicht zwangsläufig ein asymmetrisches Verfahren sein. DES, TripleDES, RC4 usw. sind auch Datenverschlüsselungsverfahren, welche aber für das ver- und entschlüsseln den gleichen Schlüssel verwenden.
Asymmetrische verwenden dagegen für das Verschlüsseln den einen Key, und für das Entschlüsseln einen passenden anderen.
Bei PGP werden beide Verfahren eingesetzt. Die asymetrischen Verfahren wurden schließlich weitestgehend dafür eingesetzt die "Schlüssel" für die symetrischen Verfahren sicher transportieren zu können.
catzma
Hallo,
Bei PGP werden beide Verfahren eingesetzt. Die asymetrischen Verfahren wurden schließlich weitestgehend dafür eingesetzt die "Schlüssel" für die symetrischen Verfahren sicher transportieren zu können.
Ja, genauso wie für z.B. SSL. Der Grund ist darin zu suchen, daß asymmetrische Verfahren wesentlich rechenintensiver sind und sich daher für größere Datenmengen weniger eignen.
Grüße
Klaus
Hi,
Ich will einen wert verschlüsselt übermitteln.
Und was willst Du am Ziel mit diesem Wert anfangen?
Davon hängt es ab, welche Verschlüsselungsmethoden
für Deinen Zweck nutzbar sind.
Die Überprüfung einer bereits bekannten Information ist
auch mit einer Einweg-Verschlüsselungsmethode möglich,
die Dekodierung einer (dem Zielsystem) unbekannten
Information nur in Absprache mit dem Verschlüsseler.
Viele Grüße
Michael
Was willst du mir damit sagen???