نمایش نتایج 1 تا 9 از 9

نام تاپیک: قفل کردن فایل

  1. #1

    قفل کردن فایل

    سلام.دوستان نحوه ی قفل کردن یک فایل در برنامه نویسی سی شارپ به چه صورت است؟ومن الله توفیق
    آخرین ویرایش به وسیله catgirl : پنج شنبه 23 خرداد 1392 در 12:00 عصر

  2. #2
    کاربر دائمی
    تاریخ عضویت
    مهر 1390
    محل زندگی
    تهران
    سن
    31
    پست
    584

    نقل قول: قفل کردن فایل

    سلام ، دوست عزیز فکر کنم تابع های زیر بدردت بخوره
    private void EncryptFile(string inputFile, string outputFile)
    {

    try
    {
    string password = @"myKey123"; UnicodeEncoding UE = new UnicodeEncoding();
    byte[] key = UE.GetBytes(password);

    string cryptFile = outputFile;
    FileStream fsCrypt = new FileStream(cryptFile, FileMode.Create);

    RijndaelManaged RMCrypto = new RijndaelManaged();

    CryptoStream cs = new CryptoStream(fsCrypt,
    RMCrypto.CreateEncryptor(key, key),
    CryptoStreamMode.Write);

    FileStream fsIn = new FileStream(inputFile, FileMode.Open);

    int data;
    while ((data = fsIn.ReadByte()) != -1)
    cs.WriteByte((byte)data);


    fsIn.Close();
    cs.Close();
    fsCrypt.Close();
    }
    catch
    {
    MessageBox.Show("Encryption failed!", "Error");
    }
    }
    private void DecryptFile(string inputFile, string outputFile)
    {

    {
    string password = @"myKey123";
    UnicodeEncoding UE = new UnicodeEncoding();
    byte[] key = UE.GetBytes(password);

    FileStream fsCrypt = new FileStream(inputFile, FileMode.Open);

    RijndaelManaged RMCrypto = new RijndaelManaged();

    CryptoStream cs = new CryptoStream(fsCrypt,
    RMCrypto.CreateDecryptor(key, key),
    CryptoStreamMode.Read);

    FileStream fsOut = new FileStream(outputFile, FileMode.Create);

    int data;
    while ((data = cs.ReadByte()) != -1)
    fsOut.WriteByte((byte)data);

    fsOut.Close();
    cs.Close();
    fsCrypt.Close();

    }
    }

  3. #3
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    دیار کریمان
    پست
    1,008

    نقل قول: قفل کردن فایل

    سلام
    برای پسورد زمانیکه خواستم فقط از عدد استفاده کنم و حتی برا شروع کلمه پسورد چیزی به جر my مینوشتم خطا زیر میداد
    specified initialization vector (vi) dose not match the block size for this algoritm
    کسی میدونه این خطا واسه چیه
    تشکر

  4. #4
    کاربر دائمی آواتار c-sharp_South
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    پشت و جلو کامپیوتر
    پست
    350

    نقل قول: قفل کردن فایل

    سلام . میشه در مورد کد و کارش بیشتر توضیح بدید که دقیقا چه کاری رو انجام میدن؟
    اگه یک خورده کد رو تحلیل کنید ممنون میشم.

  5. #5
    کاربر دائمی آواتار mthreat.info
    تاریخ عضویت
    آبان 1390
    محل زندگی
    رشت
    پست
    415

    نقل قول: قفل کردن فایل

    این روش رمز نگاری Rijndael هست که میگیره فایل رو بر اساس ادویه ای (تو رمزنگاری برای نامفهوم کردن کد ایجاد شده استفاده میشه "تو این کد ازش استفاده نشده" ) که بهش میزنید و رمزی که بهش میدید میگیره فایل رو رمز میکنه ، برای اون دوستمون که با خطا مواجه شدن احتمالا رمزی که دادن طولش کم بوده یا فایلی که قبلا رمز شده رو با پسورد اشتباه داشتن دیکد میکردن

  6. #6
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    دیار کریمان
    پست
    1,008

    نقل قول: قفل کردن فایل

    نقل قول نوشته شده توسط mthreat.info مشاهده تاپیک
    این روش رمز نگاری Rijndael هست که میگیره فایل رو بر اساس ادویه ای (تو رمزنگاری برای نامفهوم کردن کد ایجاد شده استفاده میشه "تو این کد ازش استفاده نشده" ) که بهش میزنید و رمزی که بهش میدید میگیره فایل رو رمز میکنه ، برای اون دوستمون که با خطا مواجه شدن احتمالا رمزی که دادن طولش کم بوده یا فایلی که قبلا رمز شده رو با پسورد اشتباه داشتن دیکد میکردن
    منظور از ادویه چیه ؟
    چجوری باید داخل کد بالا آرودش؟
    طول پسورد حداقل و حداکثر چند کاراکتر باید باشه؟

  7. #7
    کاربر دائمی آواتار mthreat.info
    تاریخ عضویت
    آبان 1390
    محل زندگی
    رشت
    پست
    415

    نقل قول: قفل کردن فایل

    نقل قول نوشته شده توسط Sal_64 مشاهده تاپیک
    منظور از ادویه چیه ؟
    چجوری باید داخل کد بالا آرودش؟
    طول پسورد حداقل و حداکثر چند کاراکتر باید باشه؟
    منظور از ادویه نمیدونم چطوری توضیح بدم (مثلا : سلام====>سخخحنئددلکموکموکشا صثضصثم) تو مثال سلام بعد از اضافه کردن ادویه
    شرمنده من با RijndaelManaged برنامه ننوشتم ولی با Rijndael نوشتم
    طولش رو فکر کنم باید تا 256 بایت باشه دقیقا یادم نیست ولی برای رسیدن به متن اصلی باید از یک کلید استفاده کنید
    آخرین ویرایش به وسیله mthreat.info : سه شنبه 04 تیر 1392 در 08:12 صبح

  8. #8
    کاربر دائمی آواتار mthreat.info
    تاریخ عضویت
    آبان 1390
    محل زندگی
    رشت
    پست
    415

    نقل قول: قفل کردن فایل

    با یکم ور رفتن فهمیدم میشه با PasswordDeriveBytes پسورد رو ادویه زد و بر اساس الگوریتم MD5 و SHA1 هش کرد

  9. #9
    کاربر دائمی آواتار mthreat.info
    تاریخ عضویت
    آبان 1390
    محل زندگی
    رشت
    پست
    415

    نقل قول: قفل کردن فایل

    من با یکم دست کاری تو کد دوستمون پسورد رو ادویه زدم :d

    کد کردن :

    OpenFileDialog opaa = new OpenFileDialog();
    SaveFileDialog ss = new SaveFileDialog();
    opaa.ShowDialog();
    ss.ShowDialog();
    string password = @"myKey123";
    byte[] initVectorBytes = Encoding.ASCII.GetBytes("@1k2c3$4e5x6g7H6");
    byte[] saltValueBytes = Encoding.ASCII.GetBytes("vd754#2@");
    PasswordDeriveBytes passworda = new PasswordDeriveBytes(
    password,
    saltValueBytes,
    "SHA1",
    2);
    byte[] keyBytes = passworda.GetBytes(256 / 8);
    string cryptFile = ss.FileName;
    FileStream fsCrypt = new FileStream(cryptFile, FileMode.Create);

    RijndaelManaged RMCrypto = new RijndaelManaged();

    CryptoStream cs = new CryptoStream(fsCrypt,
    RMCrypto.CreateEncryptor(keyBytes, initVectorBytes),
    CryptoStreamMode.Write);

    FileStream fsIn = new FileStream(opaa.FileName, FileMode.Open);

    int data;
    while ((data = fsIn.ReadByte()) != -1)
    cs.WriteByte((byte)data);


    fsIn.Close();
    cs.Close();
    fsCrypt.Close();


    دیکد

    OpenFileDialog opaa = new OpenFileDialog();
    SaveFileDialog ss = new SaveFileDialog();
    opaa.ShowDialog();
    ss.ShowDialog();
    string password = @"myKey123";
    byte[] initVectorBytes = Encoding.ASCII.GetBytes("@1k2c3$4e5x6g7H6");
    byte[] saltValueBytes = Encoding.ASCII.GetBytes("vd754#2@");
    PasswordDeriveBytes passworda = new PasswordDeriveBytes(
    password,
    saltValueBytes,
    "SHA1",
    2);
    byte[] keyBytes = passworda.GetBytes(256 / 8);

    FileStream fsCrypt = new FileStream(opaa.FileName, FileMode.Open);

    RijndaelManaged RMCrypto = new RijndaelManaged();

    CryptoStream cs = new CryptoStream(fsCrypt,
    RMCrypto.CreateDecryptor(keyBytes, initVectorBytes),
    CryptoStreamMode.Read);

    FileStream fsOut = new FileStream(ss.FileName, FileMode.Create);

    int data;
    while ((data = cs.ReadByte()) != -1)
    fsOut.WriteByte((byte)data);

    fsOut.Close();
    cs.Close();
    fsCrypt.Close();

    تو کد بالا:
    SHA1 الگوریتم رمزنگاری SHA1 هست
    2 بکار گرفته شده میتونه (تعداد کد کردن) 1 یا 2 کافیه
    256 سایز کلید هست که میتونه 128 و 192 هم باشه
    initVectorBytes کد IV هست که باید 16 کاراکتر ASCII باشه

تاپیک های مشابه

  1. سوال: طریقه قفل کردن فایل اکسس؟؟؟
    نوشته شده توسط DelphiFriend در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 13
    آخرین پست: دوشنبه 04 خرداد 1394, 10:34 صبح
  2. سوال: قفل کردن فایل و فولدر
    نوشته شده توسط shytonak در بخش C#‎‎
    پاسخ: 5
    آخرین پست: دوشنبه 22 شهریور 1389, 03:06 صبح
  3. قفل کردن فایل به طوری که افراد و برنامه های دیگه نتونن بازش کنن
    نوشته شده توسط _abiriamir در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 25
    آخرین پست: پنج شنبه 02 مهر 1388, 21:31 عصر
  4. کمک برای قفل کردن فایل
    نوشته شده توسط ALI_2008 در بخش امنیت در نرم افزار و برنامه نویسی
    پاسخ: 5
    آخرین پست: سه شنبه 16 مهر 1387, 21:31 عصر
  5. قفل کردن فایل DBF در فاکسپرو 2.6
    نوشته شده توسط b_mohammadpoor در بخش Foxpro
    پاسخ: 10
    آخرین پست: پنج شنبه 27 شهریور 1382, 11:59 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •