![]() |
Delphi-Version: XE3
DEC 5.2 erzeug auf einmal einen Integer überlauf
Moin DP'ler
folgender Code hat bis heute funktioniert. Nachdem ich heute das Programm neu erzeugt hab erzeugt mir DEC 5.2 einen Integerüberlauf (DECCipher.pas Zeile: 1645):
Delphi-Quellcode:
Wie ihr sehen könnt hab ich das ganze in ein extra Projekt nochmal kopiert um zu testen obs dann geht und siehe da es funktioniert.
function EncodeString(const Text: String): string;
begin with TCipher_Twofish.Create do try Init('zufallsstring'); Result := EncodeBinary(Text, TFormat_Copy); // verschlüsselt Strings finally Free; end; end; function String2Hex(const Buffer: Ansistring): string; begin SetLength(Result, 2 * Length(Buffer)); BinToHex(@Buffer[1], PWideChar(@Result[1]), Length(Buffer)); end; function getsavestring(input: string): string; begin Result := String2Hex(EncodeString(input)); end; procedure TForm1.FormCreate(Sender: TObject); var regist: TRegistry; iniid, regid: string; begin regist := TRegistry.Create; try regist.RootKey := HKEY_CURRENT_USER; regist.OpenKey('Software\pfad\zum\key', false); regid := getsavestring(regist.ReadString('ID')); regist.CloseKey; regist.OpenKey('Software\pfad\zum\anderen-key', false); iniid := getsavestring(regist.ReadString('ID')); regist.CloseKey; finally regist.Free; end; end; Jetzt frag ich mich woran kann das liegen das es in meinem anderen großen Projekt nicht geht. |
AW: DEC 5.2 erzeug auf einmal einen Integer überlauf
Du hast nicht zufällig die Überlaufprüfung in deinen Projektoptionen aktiviert? :stupid:
|
AW: DEC 5.2 erzeug auf einmal einen Integer überlauf
Die Zeile muß einen Überlauf bilden, da ja mod 2^32 gerechnet werden soll. Wahrscheinlich hast Du aus Versehen Range/Overflow-Check eingeschaltet.
|
AW: DEC 5.2 erzeug auf einmal einen Integer überlauf
Zitat:
|
AW: DEC 5.2 erzeug auf einmal einen Integer überlauf
Weil AFAIK im Krypto-Bereich oft ganz bewusst mit Überläufen gerechnet wird. Da ist dann die Überlaufprüfung kontraproduktiv.
|
AW: DEC 5.2 erzeug auf einmal einen Integer überlauf
Zitat:
Spiel Bereichsüberprüfung auch eine Rolle? |
AW: DEC 5.2 erzeug auf einmal einen Integer überlauf
Ich bin kein Krypto-Experte, glaube aber eher nicht.
|
AW: DEC 5.2 erzeug auf einmal einen Integer überlauf
Wenn Du den Quellcode nicht geändert hast, steht doch dort schon {$RANGECHECKS OFF} in Zeile 29 oder so.
|
AW: DEC 5.2 erzeug auf einmal einen Integer überlauf
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:07 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