Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi DEC Part I: SelfTest's schlagen fehl (https://www.delphipraxis.net/71921-dec-part-i-selftests-schlagen-fehl.html)

blackdrake 22. Jun 2006 15:02


DEC Part I: SelfTest's schlagen fehl
 
Hallo.

Ich nutze das Delphi Encryption Compendium, Part I in Version 3.0 (als VCL-Komponenten) und habe seit meiner Computerneuinstallation folgendes Problem:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if not DECUtil.InitTestIsOk then
    showmessage('Init Test failed'); // wird ausgegeben
  ciphermanager1.Algorithm := '3Way';
  ciphermanager1.InitKey('Res', nil);
  showmessage(ciphermanager1.EncodeString('test')); // TlXg5g==
  if not ciphermanager1.CipherClass.SelfTest then
    showmessage('SelfTest failed'); // wird ausgegeben
end;
Vor der Neuinstallation funktionierte alles noch, jetzt scheint die Verschlüsselung zwar immernoch zu funktionieren, jedoch schlagen die SelfTest's und die Initialisierung der Komponente fehl.

Ich habe einen CipherManager und einen HashManager auf das Form gesetzt und den HashManager im CipherManager eingetragen.

Im Demo.dpr funktioniert alles (inkl. Selftests), jedoch kann ich mir nicht erklären, weshalb.

negaH 23. Jun 2006 10:27

Re: DEC Part I: SelfTest's schlagen fehl
 
Sobald DECUtil.IsInitTestOk auf FALSE steht werden alle .SelfTest Methoden ebenfalls fehlschlagen.
Du scheinsts die Unit DECUtil.pas modifiziert zu haben oder aber eine falsche DECUtils.pas eingespielt zu haben.

Du kannst jetzt einen Hack anwenden und in DECUtils.pas in der Initialization Sektion das IsInitTestOk manuell auf TRUE setzen. Damit deaktivierst du nur eine Überprüfung des internen TestVectors und der CRC Prüfroutine.

Ich empfehle dir sowieso die neueste DEC 5.1 Version zu doiwnloaden. Beachte aber das es dann zu einem jetzigen Source Inkompatibilitäten geben wird. Die Managerkomponneten THashManager und TCipherManager kann ich ebenfalls in Productioncode nicht empfehlen (sind eher DEMO Komponenten für Komponentenentwickler die die DEC Klassen in ihren Sourcen verwenden wollen).

Gruß Hagen

blackdrake 23. Jun 2006 18:44

Re: DEC Part I: SelfTest's schlagen fehl
 
Hallo.

Ich habe die Mod-Version für Delphi 6/7 von DEC 3.0 verwendet... Ich bin mir sicher, dass ich die damals auch hatte. Es zu deaktivieren bringt ja nichts, weil ich ja die Prüfung "freiwillig" mache; ich könnte sie aus meinem Programm entfernen, bringt mir aber nichts, wenn wirklich ein Fehler vorliegt. Ich werde beide Versionen nochmals überprüfen und versuchen, die Datei auszuwechseln.

DEC 5.1 habe ich auch ausprobiert, musste mich aber ärgern, dass es in Version 5.1 keine Komponenten mehr gibt und kein Tutorial dabei ist... ich verstehe da gar nichts mehr, wenn ich keine VCLs mehr habe...

Luckie 23. Jun 2006 22:17

Re: DEC Part I: SelfTest's schlagen fehl
 
Wie man damit umgeht hat Hagen aber schon oft genug hie rim Forum gepostet.

blackdrake 24. Jun 2006 16:51

Re: DEC Part I: SelfTest's schlagen fehl
 
Hallo.

Ich habe im Lib-Ordner von Delphi eine DECUtil.pas und eine DECUtil.dcu gefunden, die ich ersetzt habe. Nun funktionieren die SelfTest's wieder. Danke für die Hilfe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz