2010-12-02 14 views
1

Ich habe eine App, die auf PHP 5.3 läuft, die Passwörter hashed mit PHP crypt() Funktion speichert. Der Hashing-Typ (SHA 512) ist jedoch standardmäßig nicht auf einem der Server verfügbar, auf dem PHP 5.2 läuft. Ich habe gesehen, dass man mit mcrypt viel mehr Flexibilität bekommt, aber es ist auch komplizierter zu benutzen.Kann mcrypt dieselben Algorithmen wie crypt() ausführen?

Ist es möglich, PHP mcrypt Funktionen zu verwenden, um die gleichen Ergebnisse wie mit Krypta zu bekommen (ein SHA512 Salz)?

Also, wenn ich Eingabe „test“ mit einem SHA512 Salz, um die verschlüsselten Daten soll die gleiche sein, wenn crypt() sowie bei mcrypt() verwenden.

Wenn es nicht möglich ist, kann jemand mir einen Rat geben auf, was sonst noch zu tun? Leider ist ein Upgrade auf PHP 5.3 keine Option (es ist ein Cloud-Server und ich habe keine Zeit, die Skripte dafür zu schreiben).

Antwort

1

Leider ist MCrypt nicht die SHA512 Chiffre haben - Sie einen Blick auf die Liste der Chiffren hier nehmen:

http://www.php.net/manual/en/mcrypt.ciphers.php

+0

Ich sehe, obwohl ich wahrscheinlich zu blowfish ohne zu viel Mühe wechseln könnte. Die Frage bleibt jedoch gleich, wie kann ich mit mcrypt mir die gleiche Datenkrypta zurückgeben? Sehen, wie Krypta Salze verwendet und Mcrypt scheint dies nicht zu tun. – Naatan

+0

Ich schrieb eine kleine Klasse und Anleitung, wie AES-128 verwenden, wenn Sie möchten - Sie können es hier: http://jservedio.com/article/1 – Jack

+0

Dank Jack, aber ich will nicht wirklich Passwörter entschlüsselbar sein. – Naatan

1

Kann mir jemand sagen, ob es möglich ist php5 die mcrypt Funktion zu verwenden erhalten die gleichen Ergebnisse wie mit Krypta

Nr Mcrypt Funktionen für Verschlüsselung bietet und Entschlüsselung. crypt, trotz seines trügerischen Namens, bietet Funktionen für Hashing. Dies sind nicht die gleichen Aufgaben. Mcrypt bietet keine Hashing-Funktionen und der Algorithmus, den Sie verwenden möchten (SHA-512) ist ein Hash-Algorithmus.

Sie können Kennwörter mit Mcrypt nicht hashen. Das ist nicht seine Aufgabe. Seine Rolle und crypt sind unterschiedlich und überschneiden sich nicht.