AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Umstellung DEC 3.0 auf 5.2

Ein Thema von automatix · begonnen am 18. Nov 2008 · letzter Beitrag vom 25. Nov 2008
 
automatix

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

Re: Umstellung DEC 3.0 auf 5.2

  Alt 20. Nov 2008, 15:43
Hallo!

Vielen Dank für Deine Unterstützung, auch für die verschiedenen Vorschläge zur möglichen Umstellung.
Leider kann man nicht DEC3.0 und DEC 5.2 so ohne weiteres im selben Projekt verwenden. Also habe ich mit Delphi 2006 ein Testprogramm erstellt mit DEC 3.0 und eines mit Delphi 2007 und DEC 5.2.

Im Ergebnis sieht es erstmal so aus, dass mir der CipherManager oder HashManager in die Suppe spuckt.

Mit folgenden Routinen habe ich mir ein Memo gefüllt für alle möglichen Modi.
Delphi 2006 und DEC 3.0
Delphi-Quellcode:
procedure TfrmStart.AddEncryptedPassword(aMode: TCipherMode);
var
  cipher: TCipher_Blowfish;
  hash: THash_RipeMD256;
  initHash: string;
  pw: string;
begin
  cipher := nil;
  try
    hash := THash_RipeMD256.Create(nil);
    cipher := TCipher_Blowfish.Create(MASTER_KEY, hash);
    cipher.Mode := aMode;
    pw := cipher.EncodeString(ePasswort.Text);
    memoErgebnis.Lines.Add(ePasswort.Text + '=' + pw);
  finally
    FreeAndNil(cipher);
  end;
end;
Delphi 2007 und DEC 5.2
Delphi-Quellcode:
var
  CipherClass: TDECCipherClass = TCipher_Blowfish;
  HashClass: TDECHashClass = THash_RipeMD256;

procedure TfrmStart.AddEncryptedPassword(aMode: TCipherMode);
var
  cipher: TDECCipher;
  initHash: string;
  pw: Binary;
begin
  cipher := nil;
  try
    cipher := ValidCipher(CipherClass).Create;
    cipher.Mode := aMode;
    initHash := ValidHash(HashClass).CalcBinary(MASTER_KEY);
    cipher.Init(initHash);
    pw := cipher.EncodeBinary(ePasswort.Text);
    memoErgebnis.Lines.Add(ePasswort.Text + '=' + pw);
  finally
    FreeAndNil(cipher);
  end;
end;
Verschlüsselte Paßwörter:
Delphi-Quellcode:
DEC 3.0 DEC 5.2
cmCTS = cmCTSx
cmCBC = cmCBCx
cmCFB = cmCFB8
cmOFB = cmOFB8
cmECB = cmECBx
Aber alle (DEC 3.0 und DEC 5.2) ungleich:
Delphi-Quellcode:
CipherManagerTest.InitKey(MASTER_KEY, nil);
pw := cmTest.EncodeString(ePasswort.Text);
Der CipherManager oder HashManager scheint irgend etwas noch aufzufüllen, denn die verschlüsselten Resultate sind bei einem 8 Zeichen langen Paßwort alle 8 Zeichen lang, mit dem CipherManager/HashManager aber 12 Zeichen.

Ich werde mit jetzt nochmal den CipherManager und HashManager zur Brust nehmen.
Wenn jemand (Assertor ?) noch eine Idee hat oder einen Geistesblitz nach dem Motto: "Ach ja, das liegt daran", bitte her damit.

Grüße
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz