Veröffentlicht 10. November 200420 j 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... :/
10. November 200420 j 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
10. November 200420 j eventuell so: $result = mysql_query("SELECT ENCRYPT(\"DeinString\") AS string"); print($result["string"]); // nicht getestet, Hut auf, Hut zu... [/PHP] Ciao TinTin
11. November 200420 j 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
11. November 200420 j Hmm, das hat leider nicht geklappt. Er gibt dann gar nichts aus... also bleibt leer. Noch n kleinen Tipp vielleicht?!
11. November 200420 j 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.
11. November 200420 j $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]
12. November 200420 j 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
16. November 200420 j 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.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.