Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi unit Blowfish (https://www.delphipraxis.net/180190-unit-blowfish.html)

Walter Landwehr 29. Apr 2014 15:12

Delphi-Version: XE2

unit Blowfish
 
Hallo,

hat jemand Erfahrung mit dieser Unit.

ich rufe die procedure auf.

Delphi-Quellcode:

sEncText := 'EÚ'#$81'?ze,ª¶¯,…'


DecryptCFB(sEncText[1], sEncText[1], Length(sEncText));

procedure TDCP_blowfish.DecryptCFB(const InData; var OutData; Size: longint);
{$ELSE}
procedure BlowfishDecryptCFB;
{$ENDIF}
var
  i: longint;
  TB: array[0..7] of byte;
  b: byte;
begin
  {$IFDEF CFORM}
  if not fInitialized then
    raise Exception.Create('Blowfish: Not initialized');
  {$ELSE}with Data do begin{$ENDIF}
  for i:= 0 to Size-1 do
  begin
    b:= PByteArray(@InData)^[i];
    {$IFDEF CFORM}Encrypt(LB,TB){$ELSE}BlowfishEncryptECB(Data,LB,TB){$ENDIF};
    PByteArray(@OutData)^[i]:= PByteArray(@InData)^[i] xor TB[0];
    Move(LB[1],LB[0],7);
    LB[7]:= b;
  end;
  {$IFNDEF CFORM}end;{$ENDIF}
end;
Unter D2007 wurde folgender Wert zurückgegeben: sEncText = 'IQN4.0WL1951'

unter XE2 wird dieser Wert zurückgegeben: sEncText = 'sQƒ§?ݦàþÒ'#$11'ñ'

Wer weiß hier Rat? Bin schon seit Tagen dabei dies Problem zu lösen.

Vielen Dank im Voraus für einen hoffentlich erfolgreichen Tipp.

baumina 29. Apr 2014 15:18

AW: unit Blowfish
 
sEncText wird kein AnsiString sein.

Walter Landwehr 29. Apr 2014 15:52

AW: unit Blowfish
 
Doch ist AnsiString.

Bernhard Geyer 29. Apr 2014 15:55

AW: unit Blowfish
 
Zitat:

Zitat von Walter Landwehr (Beitrag 1257401)
Doch ist AnsiString.

Glaube ich nicht. Hast du es im Debugger per Speicherauszug kontrolliert?

Walter Landwehr 29. Apr 2014 16:10

AW: unit Blowfish
 
Doch ist es:

Hier Speicherauszug.

sEncText: AnsiString $18F9AC : $CCC24DC

baumina 30. Apr 2014 06:08

AW: unit Blowfish
 
Und ShortString (String[20]) geht auch nicht?

Walter Landwehr 1. Mai 2014 10:04

AW: unit Blowfish
 
Nein geht auch nicht.

Sir Rufo 1. Mai 2014 10:40

AW: unit Blowfish
 
Na das ist hier ja mal ein lustiges Rätselraten ... erinnert mich an "Ich sehe was, was du nicht siehst".

@Walter Landwehr

Ob es dir wohl möglich ist ein klitzekleines (kompilierbares) Beispiel-Projekt (Konsolenprogramm sollte ja reichen) zu erstellen?

Bei solchen Sachen ist auch eine Unit-Test-Anwendung sinnvoll, da man hier Eingabe-Parameter und erwartete Ausgabe gleich als Prüfung mit einbringt.

himitsu 1. Mai 2014 10:42

AW: unit Blowfish
 
Zitat:

Zitat von Walter Landwehr (Beitrag 1257394)
hat jemand Erfahrung mit dieser Unit.

Nein.

Und werde ich auch nicht, da jemand das Wichtigste vergessen hat.
Welche?

Google meinte, aber die ist es ja nicht.
http://read.pudn.com/downloads139/so...fish.pas__.htm


Nja, wenn der Fehler nicht in deinem Code, sondern in der unbekannten Unit liegt, dann kann dir keiner helfen.

Sir Rufo 1. Mai 2014 10:57

AW: unit Blowfish
 
Heureka, ich habe einen Teil der Schnitzeljagd (oder heißt das jetzt Code-Caching) gelöst.

Hier angesprochen ist DCPcrypt v1.31
http://www.cityinthesky.co.uk/opensource/dcpcrypt/

Die Lösung ergibt sich beim Lesen des Inhaltes, der sich hinter dem Link verbirgt


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:40 Uhr.
Seite 1 von 2  1 2      

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