sockä Geschrieben 10. November 2004 Geschrieben 10. November 2004 Hallo, ich möchte einen String verschlüsseln. Dabei möchte ich nicht die crypt() Funktion von PHP verwenden, sondern ich möchte eine DB-Anfrage an mySql senden, damit der dann ein ENCRYPT ausführt. Anfrage sollte so sein: $query = "select ENCRYPT("meinGeheimerString"); Nun möchte ich nach der Ausführung dieses Befehls den verschlüsselten String an meine PHP-Datei zurückgegeben bekommen. Aber wie bekomme ich von einer mysql_query() das Ergebnis zurück (also den Rückgabewert von mysql)? Denn wenn man das aufruft in mysql, sieht das so aus: mysql> select ENCRYPT("meinGeheimerString"); -> ihwhöihpo7687hk und dieses verschlüsselte Gewussel will ich nun an mein PHP-Skript zurückgeben... und ich sehe grad den Wald vor lauter Bäumen nicht... wahrscheinlich ist es ganz einfach... :/
robotto7831a Geschrieben 10. November 2004 Geschrieben 10. November 2004 Also dein Problem ist, wie man den Result von einem Select anzeigt. http://www.selfphp.info/funktionsreferenz/mysql_funktionen/mysql_fetch_array.php Ganz unten auf der Seite ist ein Beispiel. Frank
TinTin Geschrieben 10. November 2004 Geschrieben 10. November 2004 eventuell so: $result = mysql_query("SELECT ENCRYPT(\"DeinString\") AS string"); print($result["string"]); // nicht getestet, Hut auf, Hut zu... [/PHP] Ciao TinTin
kLeiner_HobBes Geschrieben 11. November 2004 Geschrieben 11. November 2004 eventuell so: $result = mysql_query("SELECT ENCRYPT(\"DeinString\") AS string"); print($result["string"]); // nicht getestet, Hut auf, Hut zu... [/PHP] Ciao TinTin Hmm.. da fehlt IMHO noch was: [PHP] $result = mysql_query("SELECT ENCRYPT('Dein String') AS string"); $row = mysql_fetch_array($result); if ($row !== FALSE) print $row["string"]; //ebenfalls net getestet
sockä Geschrieben 11. November 2004 Autor Geschrieben 11. November 2004 Hmm, das hat leider nicht geklappt. Er gibt dann gar nichts aus... also bleibt leer. Noch n kleinen Tipp vielleicht?!
kills Geschrieben 11. November 2004 Geschrieben 11. November 2004 dein code? vorher ne connection geöffnet?
sockä Geschrieben 11. November 2004 Autor Geschrieben 11. November 2004 connection besteht; kann vorherige SELECTs ohne Probs ausführen. Aber nur den einen Schnipsel nicht, den ich jetzt so wie von TinTin und und kleiner_hobbes vorgeschlagen eingefügt.
kills Geschrieben 11. November 2004 Geschrieben 11. November 2004 $result = mysql_query("SELECT ENCRYPT('Dein String') AS string"); if (!$result) { die('Invalid query: ' . mysql_error()); } while( $row = mysql_fetch_assoc($result)) { print $row["string"]; } [/PHP]
TinTin Geschrieben 12. November 2004 Geschrieben 12. November 2004 SQL Reference Manual for Version 4.0.5 ENCRYPT(str[,salt]) Encrypt str using the Unix crypt() system call. The salt argument should be a string with two characters. (As of MySQL Version 3.22.16, salt may be longer than two characters.): mysql> SELECT ENCRYPT("hello"); -> 'VxuFAJXVARROc' If crypt() is not available on your system, ENCRYPT() always returns NULL. ENCRYPT() ignores all but the first 8 characters of str, at least on some systems. This will be determined by the behaviour of the underlying crypt() system call. eventuell könnte es ja daran liegen. Probier mal PASSWORD() ... Ciao TinTin
Nobse Geschrieben 12. November 2004 Geschrieben 12. November 2004 Mich würde mal interessieren _warum_ du den Query verschlüsseln willst.
sockä Geschrieben 16. November 2004 Autor Geschrieben 16. November 2004 Das Skript von Kills hat funktioniert - vielen Dank dafür. Ich brauche das, weil ich Passwörter in die User-Tabelle von mysql einschiebe. Und die sollen gecryptet werden.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden