PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Einfache Ver-/Entschlüsselungsfunktion?



neodym
05-08-2000, 20:30
Hi,

gibt es eine simple Verschlüsselungsfunktion, die einen Text so verschlüsselt, dass man ihn nicht mehr lesen, aber wieder mit einfachen Methoden wiederherstellen kann?

Ich möchte nämlich Passwörter von Benutzern in einer Datenbank abspeichern, allerdings soll man die nicht so leicht entziffern können. Um die Sicherheit geht es mir nicht so, sondern nur darum, dass z.B. kein Passwort beim Durchblättern der Datenbank ins Auge fällt.
Mir reicht es, wenn die Passwörter nicht im Klartext dastehen sondern meinetwegen statt "a" "b" genommen wird und statt "b" "c" etc. Nur dass man sie halt nicht so einfach lesen und merken kann...

Gibt es ne Funktion oder ne Möglichkeit, bei der man nicht aus dem Internet irgendwelche Funktionen laden muss, sondern dies mit "Hausmitteln" erledigt?

Thx,
Neodym

neodym
09-08-2000, 00:01
Hat niemand ne Idee, wie ich das realisieren könnte?

Ich wär schon dankbar, wenn ich aus einem Passwort wie 'passwort' einen unleserlichen Zeichensalat wie z.B. 'soqqrnos' machen könnte.
Hauptsache, man kann das Pass nicht mit Überlegen auf die schnelle Art entschlüsseln.

Wär wirklich für jeden Lösungsansatz dankbar, meine Zeit drängt :-| !

Thx,
Neodym

09-08-2000, 11:56
hI !!

gibt mit Sicherheit funktionen unter www.phpbuilder.com (http://www.phpbuilder.com)
aber wenn Du nichts aus dem internet runterladen willst, so würde ich den String verschluesseln, indem ich ihn zerhacke, das heisst, ich wuerde eine funktion schreiben, die sich jeden einzelnen Buchstaben herausnimmt, diesen je nach position innerhalb eines Wortes erhöht, oder erniedrigt, und dann in eine neue variable schreibt, die in der DB gespeichert wird.

Beim Auslesen das ganze dann umgekehrt.

Is aber in meinen Augen das Rad ein zweites mal erfinden, würde aber zumindest verhindern, dass die Passwörter sofort lesbar sind. Aber der Schutz wäre nicht allzu hoch.

Genaueres findest Du unter dem Thema Stringfunktionen in /usr/doc/packages/php/manual.htm

Martin

09-08-2000, 13:00
Hi Nochmal,

wenn Du mysql verwendest, kannst du das ganze auch DB-Seitig verschluesseln lassen:
Genaueres im mysql manual unter 7.4.12 bei www.mysql.com (http://www.mysql.com)

password('string') ==> geht aber nur in eine Richtung, lässt sich nicht entschluesseln
encrypt('string', 'XX') verschluesselt string auf der basis von XX
decode('string', 'XX') entschluesselt string auf der basis von XX

diese Beiden benötigen allerdings den unix-systemaufruf crypt() ist aber bei linux kein prob. ( Falls es probleme beim Speichern in der db geben sollte, kann es helfen das format der spalte auf BLOB zu ändern)

in php gibt es auch eine Funktion, die sich aber auch auf crypt() stuetzt.
Auszug aus dem Manual von www.phpbuilder.com: (http://www.phpbuilder.com:)

string crypt (string str [, string salt])
crypt() will encrypt a string using the standard Unix DES encryption method. Arguments are a string to be encrypted and
an optional two-character salt string to base the encryption on. See the Unix man page for your crypt function for more information.

!!! There is no decrypt function, since crypt() uses a one-way algorithm !!!
If the salt argument is not provided, it will be randomly generated by PHP.

Manfred-B
10-08-2000, 23:48
Hallo
Also wenn dir der obige gute tip zu kompliziert ist und du kaum wert auf sicherheit legst

$passwort = strtr($passwort, "zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC BA","abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWX YZ");

den "Schlüssel" kannst du jetzt beliebig umbauen und auch noch umlaute und ziffern dazu nehmen. beachte aber, daß kein zeichen doppelt vorkommt und alle Zeichen die in den strings fehlen im klartext übernommen werden. Hier wird also ein "z" duch ein "a" und ein "y" durch "b" vertauscht. Zum "Entschüsseln" rufst du einfach die selbe funktion nochmal auf!

Gruß Manfred
Die Zeit rennt http://www.linuxforen.de/ubb/frown.gif

neodym
12-08-2000, 23:49
Thx an alle beide!

Ihr habt mir sehr geholfen :-)

Mittlerweile läuft alles, wie es laufen muss (hoffentlich noch länger ;-))

Vielen Dank nochmal!

nedoym