Einzelnen Beitrag anzeigen

automatix

Registriert seit: 1. Mai 2008
Ort: Remscheid
39 Beiträge
 
Delphi 2007 Enterprise
 
#1

Umstellung DEC 3.0 auf 5.2

  Alt 18. Nov 2008, 15:10
Hallo!

Wir haben einige DCOM-Server die ihre DB-Anmeldedaten aus der Windows Registratur holen. Das Passwort wird verschlüsselt dort hinterlegt. Mit folgendem DEC 3.0 Code wird das Passwort entschlüsselt:
Delphi-Quellcode:
  // cm ist TCipherManager mit THashManager
  cm.InitKey(KEY, nil);
  pw := cm.DecodeString(passwort);
Nun habe ich schon erfahren, dass es nicht gut war diese Komponenten zu verwenden, da sie nur zu Testzwecken gedacht waren. Leider ist es damals so gemacht worden.
Als Properties wurden die Standardeinstellungen genommen.
HashManager.Algorithm: Ripe Message Digest 256
CipherManager.Algorithm: Blowfish
CipherManager.Mode: cmCTS

Jetzt versuche ich das umzustellen auf DEC 5.2 und habe dabei schon einige Möglichkeiten durchprobiert, die alle nicht das gewünschte Resultat brachten. Ich möchte vermeiden, bei den Kunden die ganzen Passwörter neu verschlüsseln zu müssen und / oder unterschiedliche Verschlüsselungsverfahren je nach Server zu haben.

Delphi-Quellcode:
var
  CipherClass: TDECCipherClass = TCipher_Blowfish;
  CipherMode: TCipherMode = cmCTSx;
  HashClass: TDECHashClass = THash_RipeMD256;

function Decode(const aPasswort: string): string;
var
  cipher: TDECCipher;
  pw: Binary;
begin
  cipher := nil;
  Result := '';
  try
    cipher := ValidCipher(CipherClass).Create;
    cipher.Mode := CipherMode;
    pw := ValidHash(HashClass).CalcBinary(KEY);
    cipher.Init(pw);
    Result := cipher.DecodeBinary(aPasswort);
  finally
    FreeAndNil(cipher);
  end;
end;
Was muss ich ändern, damit ich die alten Passwörter entschlüsselt bekomme?
Oder ist die gewählte Algorithmus / Mode Kombination inkompatibel zwischen V3.0 und V5.2?

Vielen Dank
  Mit Zitat antworten Zitat