0 امتیاز

باسلام ،

برنامه ای برای کدگزاری و کدگشایی با الگوریتم AES نوشتم ، برنامه عمل Encrypt رو به درستی انجام میده ولی برای نمایش Decrypt به مشکل میخوره ، ممکنه کمکم کنید درستش کنم ؟(فایلی که فرستادمو یه پسوند rar. بهش اضافه کنید درست میشه)

برنامه

بسته شده

1 پاسخ

+3 امتیاز
 
بهترین پاسخ

سلام

 پرژه شمارو درست کردم اما یه جای کار اشکال داشت بعد دیدم فقط نکته های کوچیک رو جا انداختید اما این نکته مربوط به استریم ریدر بود که لازم نبود و همچنین توی رمزنگاری از استریم رایتر هم استفاده کرده بودید

برنامه اجرا شد ولی جواب نداد علت هم اینه که پای پسورد وسطه یعنی رمزگذاری عادی نیست این پسورد اگه درست فراخونی نشه تو هر دو مشکل بوجود میاد این عینه متد شماست اما اون نیست (مثال درست)

 private byte[] Decryprt(byte[] FileToDecrypt,byte[] paswordSet)
        {
            byte[] byteToEncrypt = null;
            byte[] SaltByte = new byte[] { 1,2,3,4,5,6,7,8,9};

            using (MemoryStream MemS=new MemoryStream())
            {
                using (RijndaelManaged AESEncod=new RijndaelManaged())
                {
                    AESEncod.BlockSize = 128;
                    AESEncod.KeySize = 256;
                    var key = new Rfc2898DeriveBytes(paswordSet,SaltByte,1000);
                    AESEncod.IV = key.GetBytes(AESEncod.BlockSize/8);
                    AESEncod.Key = key.GetBytes(AESEncod.KeySize/8);
                    AESEncod.Mode = CipherMode.CBC;
                    AESEncod.Padding = PaddingMode.PKCS7;

                    using (var cStr=new CryptoStream(MemS,AESEncod.CreateDecryptor(),CryptoStreamMode.Write))
                    {
                        cStr.Write(FileToDecrypt,0,FileToDecrypt.Length);
                        cStr.Close();
                    }
                    byteToEncrypt = MemS.ToArray();
                }
                return byteToEncrypt;
            }
        }

از یه روش دیگه استفاده کردم

و یه فرم اضافه کردم  اونجا حلش کردم

دانلود

یک دنیا تشکر yes

 

یه سوال دیگه : اون آرایه salt byte برای چیه ؟

اونم رمزه ؟

توسط (246 امتیاز) 2 10
دوست عزیز منظور از سالت همون تولید رمز تصادفی یا بیت های تصادفی هست که توی همین نوع رمزنگاری یعنی رمز نگاری یک طرفه است و با همون پسوردی که برای تعیین پسورد وارد میکنیم محاسبه میشه
توسط (7,164 امتیاز) 4 7 141
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,924 کاربر

دسته بندی ها

...