Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#13

Re: Rijndael-Entschlüsselung

  Alt 15. Feb 2008, 16:35
So, du bist mir'ne Nuss

Delphi-Quellcode:
function CCFDecrypt(const CCF: Binary; const Password: Binary): Binary;
begin
  with TCipher_Rijndael.Create do
  try
    Mode := cmCFB8;
    Init(Password);
    Result := DecodeBinary(CCF, TFormat_MIME64);
  finally
    Free;
  end;
end;

function CCFEncrypt(const CCF: Binary; const Password: Binary): Binary;
begin
  with TCipher_Rijndael.Create do
  try
    Mode := cmCFB8;
    Init(Password);
    Result := EncodeBinary(CCF, TFormat_MIME64);
  finally
    Free;
  end;
end;

procedure Test;
var
  Password, Data: Binary;
begin
  Password := TFormat_HEX.Decode('8C35192D964DC3182C6F84F3252239EB4A320D2500000000');

  Data := CCFEncrypt('CCF: http://rapidshare.com/files/58141435/voy402.part1.rar', Password);

  WriteLn('MIME64 : ', Data);
  WriteLn('HEX : ', TFormat_HEX.Encode(Data));

  Data := CCFDecrypt(Data, Password);

  WriteLn('Data : ', Data);

end;
raus kommt dann

Code:
MIME64 : imlVf7HadQ70zlFlQno/ssi7aJalsNLvX0cgQ4Y0TNT23LLgR0bVdle/wsZ2FpKnZeOlnhn/XnLLJg==
HEX   : 696D6C5666374861645137307A6C466C516E6F2F73736937614A616C734E4C765830636751345930544E54323
         34C4C6752306256646C652F77735A3246704B6E5A654F6C6E686E2F586E4C4C4A673D3D
Data  : CCF: [url]http://rapidshare.com/files/58141435/voy402.part1.rar[/url]
Wie du siehst brauscht du im DEC nur die richtigen Parameter einstellen und ohne Probleme funktioniert alles. Man sollte eben wissen WAS man da eigentlich als Datenformat so macht und gleich die richtigen Testvektoren liefern.

So das kostet dich ein Bier und da ich keines trinke könntest du uns an deiner fertigen Anwendung, RapidShare Tool, partizipieren lassen.

Gruß Hagen

EDIT: ach übrigens ich hoffe das es positiv auffällt mit wie wenig Sourcezeilen man das Gleiche in Delphi machen kann was im PHP umständlich geht
EDIT: kryptographisch betrachtet ist diese Methode Dateien zu schützen unsicher, falls das Passwort nicht jedesmal neu per Zufall gewählt wird !
  Mit Zitat antworten Zitat