إشكال في إعادة فك التشفير مع SynCrypto
#1
كتبت برنامجاً صغيراً للتشفير وفكه

استخدم الوحدة SynCrypto من

كود :
http://synopse.info/fossil/home


واستخدامه :

لتشفير :
crypto filename filesnew paasword 1 128

الرامتر الخامس اختيار وافراضياً 128
ولفك التشفير

crypto filename filesnew paasword 0

السؤال:

لما أقوم بالتشفير ثم أقوم بفك التشفير لا يفك دائماً فمرة يفكه كما كان ومراااات يكون الملف الناتج فارغاً .


الملفات المرفقة
.rar   crypto.rar (الحجم : 681 بايت / التحميلات : 16)
وإن تقدم ذو تقوى بصالحةٍ *** قدمتُ بين يديه عبرة الندمِ
الرد
#2
غربية طيب أنا أظهر لكم الكود : مع أني ما ني شايف فيه شيء غلط :

كود :
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.
وإن تقدم ذو تقوى بصالحةٍ *** قدمتُ بين يديه عبرة الندمِ
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم