تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 2 از 2 اولاول 12
نمايش نتايج 11 به 13 از 13

نام تاپيک: چطور بر روی بانک اطلاعاتی پسورد بزارم؟

  1. #11
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    نقل قول نوشته شده توسط am_merman01
    در هنگام دانلود با خطای فایل موجود نیست مواجه میشم
    احتمالا بد کپی کردیده اید، نمیدانم ... با چند مرورگر امتحان کردم ...
    مجدد با لینک این را امتحان کنید، یا مرورگر دیگری را امتحان کنید، اگر دانلود منجر دارید، موقت غیر فعالش کنید.
    اگر نشد جای دیگرا آپلود میکنم.
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    برای رفع نقص خودم عرض میکنم، شرایط رایانه تان چیست؟ چه مرورگری استفاده کردید؟ برنامه مدیریت دانلودی نصب داشتید؟ اگر نقصی وجود دارد ، میخواهم بفهمم مشکل کجاست تا در رایانه خودم شبیه سازی اش کنم و متوجه علت آن شوم تا رفعش کنم...

    نقل قول نوشته شده توسط am_merman01
    وکتور چیه؟
    در رمزنگاری های الگوریتم طوری پیش میرود که خروجی بایت های قبلی در رمزنگاری بایت های جدید تاثیر دارد
    یعنی اگر من یک بایت را در وسط دیتاعوض کنم، کل رمزنگاری پس از آن تغییر میکند و مشابه قبل نخواهد بود.
    فرض کنید رمزنگاری رشته 123456789 بشود ABCDEFGHI
    آنگاه شاید رمزنگاری رشته 123406789 بشود ABCDPONUX
    مقدار IV شروع این دیتا برای بایت های اولیه است.
    در کل شما میتوانید تلفیق IV و Key را با هم بعنوان Password درنظر بگیرید.

    نقل قول نوشته شده توسط am_merman01
    طول آرایه کلید به چه چیزی بستگی داره ؟
    به الگوریتم
    اعدادی که شما ذکر کردید مربوط به الگوریتم AES است.
    این اطلاعات به راحتی از مستندات قابل استخراج است یا در کلاس های مختلف property هایی مانند KeySize وجود دارد که این ارقام را گزارش میکنند.

    نقل قول نوشته شده توسط am_merman01
    آیا با همین کد میشه از سایر روش های رمزنگاری مثل SHA , MD5 و .... استفاده کرد(منظورم صرفا با تغیر AES به مثلا MD5
    شاید بتوان الگوریتم های عادی حوزه رمزنگاری را به سه دسته تقسیم بندی کرد.
    الگوریتم های نامتقارن
    الگوریتم های متقارن
    و الگوریتم های یک طرفه (هش)

    الگوریتم AES یکی از معروف ترین الگوریتم های متقارن است.
    کد فوق برای سایر الگوریتم های متقارن هم قابل استفاده است.
    مانند DES یا TripleDES یا Rijndael و...

    ولی انواع SHA ها و MD5 ها الگوریتم های یک طرفه هستند.
    اطلاعاتی که با این الگوریتم ها رمزشود دیگر قابل رمزگشایی نیستند !
    بد نیست بدانید که در ارتباط رمزنگاری پیشرفته ای مانند پروتکل SSL از هر سه این خانواده الگوریتم ها در کنار هم و همزمان استفاده میشود وهرکدام امنیت بخشی از کل پروتکل را تضمین میکند ...

    نقل قول نوشته شده توسط am_merman01
    ولی کار دو خط آخر رو اصلا متوجه نشدم
    معمولا رمزنگاری ورمزگشایی بلوک آخر اطلاعات کمی متفاوت است و تابع FlushFinalBlock این رمزنگاری در نقطه انتهایی را مدیریت میکند.

    خط بعدی هم که واضح است...
    همانطورکه متوجه شده اید، کل فرآیندهای رمزنگاری روی داده های خام باینری انجام میشود (آرایه های بایتی)
    من خواستم که ورودی و خروجی تابع ام string باشد.
    حتی رشته رمزنگاری شده هم string باشد.
    پس در شروع رمزنگاری با فرمان UTF8.GetBytes متن را به آرایه باینری تبدیل کرده ام.
    و در پایان عملیات با Convert.ToBase64String آرایه باینری رمزشده بی معنی را به متنی تبدیل کرده ام.
    این الگوریتم به نام Base-64 شناخته میشود و در "وب" ویا "xml" ها و... بسیار کاربرد دارد.
    الگوریتم Base-64 یک اطلاعات باینری به متنی با حروف استاندارد اسکی تبدیل میکند.
    مثلا Base-64 میتوانید یک "تصویر" یا "آهنگ" را در فایل xml که فایلی متنی است ذخیره و منتقل کنید

    در این مثال میشد از Base-64 استفاده نکرد ولی باید خروجی تابع رمزنگاری را [ ]byte میکردیم.

    نقل قول نوشته شده توسط am_merman01
    توضیحاتی که بعد از تک کوتیشن قرار میگیرن توی نسخه نهایی برنامه ( منظورم نسخه Release) حذف میشن؟
    خیلی واضح است...
    جواب کوتاه آن است که حذف میشود و جواب بلدتر چنین میشود:
    کل دستورات متنی CSharp یا VB ما فرآیند "کامپایل" رویش انجام میشود.
    تمام موارد "توضیح شده Comment" را کلا کامپایلر نادیده میگیرد.
    اصلا کامپایلر این بخش ها را نمیبیند که بخواهد کاری کند...
    دستورات متنی تایپ شده ما هم به همان صورت باقی نمی ماند، این دستورات به زبان ماشین (یا در دات نت به زبان میانه IL) کامپایل میشود.

    مثلا فرمان زیر را در نظر بگیرید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    خروجی کامپایل این دستورات چنین است
    این اعدادی است که واقعا در dll یا exe قرار میگیرد.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    این اعداد با نماد متنی IL (جهت نگارش و فهم ساده تر) چنین بیان میشود
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در کدکامپایل شده حتی "نام متغییرهای محلی درون توابع" هم بی معنی و تعریف نشده است.
    (نام متغییرهای سطح کلاس فقط به عنوان متادیتا کلاس در دات نت نگه داشته میشود ولی تمام نام متغییرهای محلی کلا حذف میشود و ذخیره نمیشود)
    یعنی حتی نام a و b و c که به متغییرها داده اید دیگر حذف شده و معنی ندارد.
    حالا که بنظرتان "توضیحات comment" شما چه جایگاهی در خروجی کامپایل دارد؟!
    Last edited by _H2_; 19-11-2017 at 13:08.

  2. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  3. #12
    کـاربـر بـاسـابـقـه am_merman01's Avatar
    تاريخ عضويت
    May 2006
    محل سكونت
    یه جایی گوشه دهکده جهانی تو یه کانکشن دایال آپ
    پست ها
    893

    پيش فرض

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

    سلام

    احتمالا بد کپی کردیده اید، نمیدانم ... با چند مرورگر امتحان کردم ...
    مجدد با لینک این را امتحان کنید، یا مرورگر دیگری را امتحان کنید، اگر دانلود منجر دارید، موقت غیر فعالش کنید.
    اگر نشد جای دیگرا آپلود میکنم.
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    برای رفع نقص خودم عرض میکنم، شرایط رایانه تان چیست؟ چه مرورگری استفاده کردید؟ برنامه مدیریت دانلودی نصب داشتید؟ اگر نقصی وجود دارد ، میخواهم بفهمم مشکل کجاست تا در رایانه خودم شبیه سازی اش کنم و متوجه علت آن شوم تا رفعش کنم...
    کاملا حق با شما بود (دیشب انقدر خسته بودم که حتی به فکر خودم نرسید
    من در ویندوز 7 از مرورگرد Google Chrome استفاده میکردم (البته اینترنت هم به صورت هات اسپات از گوشی موبایل بر روی لپ تاپ میگرفتم) و ظاهرا مشکل با دانلود منیجر گوگل کرم بود( حتی گزینه Save Link As هم جواب نداد). از اینترنت اکسپلورر استفاده کردم مشکل حل شد.
    این هم یک اسکرین شات اگر به کارتون میاد
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    معمولا رمزنگاری ورمزگشایی بلوک آخر اطلاعات کمی متفاوت است و تابع FlushFinalBlock این رمزنگاری در نقطه انتهایی را مدیریت میکند.
    خداروشکر این قسمت رو هم متوجه شدم (تشکر از توضیح کافی)
    و در پایان عملیات با Convert.ToBase64String آرایه باینری رمزشده بی معنی را به متنی تبدیل کرده ام.
    مشکلم با همین Convert.ToBase64String و یا Convert.ToBase64CharArray بود که درک نمیکردم فرقش با convert.tostring چیست ؟ که حالا متوجه شدم این تبدیل داده رو به صورت یونی‌کد تبدیل میکنه که خداروشکر رفع ابهام شد.(باز هم تشکر)

    یک سئوال : متدهایی به نام GenerateKey و GenerateIV دیدم که ظاهرا کارشون تولید یک کلید رندم هستش. ولی نتونستم ازشون استفاده کنم. لطفا میشه یه مثال کوچک از طرز استفادشون بزنید.
    آیا بهترین روش برای تولید کلید استفاده از همین متد است؟
    این اعداد با نماد متنی IL (جهت نگارش و فهم ساده تر) چنین بیان میشود
    قبلا یک جایی خونده بودم که کامپایلر توضیحات و فواصل و کلا هر چیز اضافه ای رو نادیده میگیره ولی تاحالا به این واضحی جایی توضیح داده نشده بود.
    البته اولین باره که دارم به یک کد IL نگاه میکنم . (چقدر گنگ و نامفهومه البته برای من )


    یک سئوال دیگه : ظاهرا فرم برنامه شما از نوع WPF است . کتاب یا مقاله آنلاینی سراغ ندارید که آموزش WPF , WCF برای VB داشته باشد؟

  4. #13
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    نقل قول نوشته شده توسط am_merman01
    ...من در ویندوز 7 از مرورگرد Google Chrome استفاده میکردم...این هم یک اسکرین شات...
    از Chrome استفاده نمیکنم.
    گمانم زیاد به خودم مطمئن بودم! اشتباه کردم باید خروجی برنامه را در مرورگرهای معروف امتحان میکردم.
    ممنون، بررسی میکنم.

    نقل قول نوشته شده توسط am_merman01
    متدهایی به نام GenerateKey و GenerateIV دیدم که ظاهرا کارشون تولید یک کلید رندم هستش. ولی نتونستم ازشون استفاده کنم
    بله، برای ساخت کلید شانسی/اتفاقی (Random) مناسب هستند.
    خروجی متدهای فوق void است.
    مقادیر ساخته شده در همان خصیصه های Key و IV ریخته خواهند شد.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    نقل قول نوشته شده توسط am_merman01
    آیا بهترین روش برای تولید کلید استفاده از همین متد است؟
    بله ولی اگر هدف کلید شانسی (Random) باشد که کاربرد هم دارد ... ...
    اما
    در خیلی از موارد متقارن، کلید از کاربر پرسیده میشود.
    مانند گذرواژه فایل zip ، در این موارد تولید Random کلید ، خیلی مطرح نیست
    برای تبدیل گذرواژه تایپی کاربر به Key یک الگوریتم رمزنگاری متقارن ، میتوانید از یک الگوریتم هش یک طرفه مانند SHA256 استفاده کنید

    نقل قول نوشته شده توسط am_merman01
    کتاب یا مقاله آنلاینی سراغ ندارید که آموزش WPF , WCF برای VB داشته باشد؟
    کتابهای کاغذی در مورد WPF زیاد چاپ شده اند و خوب هم هستند.
    تنها موارد pdf فارسی در کتابخانه مجازی ام، اینها بودند که برایتان آپلود کردم.
    http://raw.simorgh.pro/files/WPFTutorial.pdf.zip
    http://raw.simorgh.pro/files/WCFTutorial.pdf.zip

    شب خوش.

  5. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


صفحه 2 از 2 اولاول 12

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •