![]() |
|
إشكال في إعادة فك التشفير مع SynCrypto - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : إشكال في إعادة فك التشفير مع SynCrypto (/showthread.php?tid=3307) |
إشكال في إعادة فك التشفير مع SynCrypto - أبو محمد اللحياني - 23-07-2011 كتبت برنامجاً صغيراً للتشفير وفكه استخدم الوحدة SynCrypto من كود : http://synopse.info/fossil/homeواستخدامه : لتشفير : crypto filename filesnew paasword 1 128 الرامتر الخامس اختيار وافراضياً 128 ولفك التشفير crypto filename filesnew paasword 0 السؤال: لما أقوم بالتشفير ثم أقوم بفك التشفير لا يفك دائماً فمرة يفكه كما كان ومراااات يكون الملف الناتج فارغاً . إشكال في إعادة فك التشفير مع SynCrypto - أبو محمد اللحياني - 24-07-2011 غربية طيب أنا أظهر لكم الكود : مع أني ما ني شايف فيه شيء غلط : كود : program crypto;
{$APPTYPE CONSOLE}
uses
SysUtils,
classes,
SynCrypto;
var
output: TFileStream;
input : TFileStream;
ES : TAESFull;
bFlag : Boolean;
keySize : integer;
Password : String;
begin
{
1 filesrc
2 filenew
3 password
4 boolean
5 keysize
}
if ParamCount < 4 then
begin
Writeln('لا بد من إكمال البرامترات');
Exit;
end;
if ParamStr(1) = ParamStr(2) then
begin
Writeln('لا تصح الكتابة على نفس الملف');
Exit;
end;
if not TryStrToBool(ParamStr(4), bFlag) then
begin
Writeln('هل تريد التشفير أم فكه ؟');
Exit;
end;
if ParamStr(4) = '1' then bFlag := True;
if ParamStr(4) = '0' then bFlag := false;
tryStrToInt(ParamStr(5), keySize);
if keySize < 128 then keySize := 128;
Password := ParamStr(3);
try
input := TFileStream.Create(ParamStr(1),fmOpenRead);
output := TFileStream.Create(ParamStr(2), fmCreate);
ES.EncodeDecode(Password,keySize,input.Size,bFlag,input, output, nil,nil);
finally
input.Free;
output.Free;
end;
end. |