Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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... :/

Geschrieben

eventuell so:


$result = mysql_query("SELECT ENCRYPT(\"DeinString\") AS string");
print($result["string"]);

// nicht getestet, Hut auf, Hut zu...
[/PHP]

Ciao TinTin

Geschrieben
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 :)

Geschrieben

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.

Geschrieben

$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]

Geschrieben

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

Geschrieben

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 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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...