Thema: Delphi PHP hmac+salt in Delphi

Einzelnen Beitrag anzeigen

Benutzerbild von simmi
simmi

Registriert seit: 24. Nov 2004
Ort: Röbel/Müritz
112 Beiträge
 
Delphi XE5 Professional
 
#1

PHP hmac+salt in Delphi

  Alt 3. Feb 2012, 09:33
Hallo,

wir haben ein in PHP geschriebenes Projekt. Das Login erfolgt über Nutzername und Passwort. In meinem Delphi Projekt soll nun die gleiche Anmeldung erfolgen, weil beide Projekte mit der gleichen Tabelle arbeiten. Mir liegt dazu folgender PHP Quelltext vor:

Damit wird der Hash erzeugt
Code:
   public static function bcrypt_encode($password, $global_salt, $rounds='12')
    {
        if (@CRYPT_BLOWFISH != 1)
        {throw new Exception("CRYPT_BLOWFISH != 1");}
        # 22 byte unique random token within symbol-range
        $individual_salt = substr(str_shuffle('./0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'), 0, 22);

        return crypt(hash_hmac("whirlpool",$password,$global_salt,true),'$2a$'.$rounds.'$'.$individual_salt);
    }
Die Abfrage nach dem korrekten Passwort die ich auch durchführen muss.
Code:
public static function bcrypt_check($password, $global_salt, $stored)
    {
        if (@CRYPT_BLOWFISH != 1)
        {throw new Exception("CRYPT_BLOWFISH != 1");}

        return crypt(hash_hmac("whirlpool",$password,$global_salt,true),substr($stored, 0, 30)) == $stored;
    }
Mein Problem ist dieser Teil crypt(hash_hmac("whirlpool",$password,$global_salt,true),substr($stored, 0, 30))

Ich muss an dieser Stelle zugeben, dass meine PHP Kenntnisse sehr dürftig sind. In einem Beitrag habe ich einen Verweis auf units von Wolfgang Ehrhardt gefunden. Ich habe mir den Ordner crc_hash_2010-12-19 heruntergeladen habe aber keinen Plan, wie ich das mit den darin enthaltenen units umsetzen kann.

Bitte um Hilfe.
Angehängte Dateien
Dateityp: zip crc_hash_2010-12-19.zip (238,5 KB, 9x aufgerufen)
Uwe

Geändert von simmi ( 6. Feb 2012 um 08:21 Uhr)
  Mit Zitat antworten Zitat