PDA

View Full Version : رمزنگاری توسط الگوریتم sha؟



alireza.wise
شنبه 21 خرداد 1390, 14:46 عصر
باسلام
اگر از بین شما دوستان کد رمزنگاری توسط الگوریتم sha را میدانید راهنمایی ام کنید
متشکرم

محمد باقری نسب
شنبه 21 خرداد 1390, 15:34 عصر
چیز خاصی نداره آخه

System.Security.Cryptography.SHA256.Create().Compu teHash(Encoding.Default.GetBytes("this is test..."));

خروجی هم کد hash هست!

jaykob
شنبه 21 خرداد 1390, 18:29 عصر
سلام

می تونید از کد زیر هم استفاده کنید فقط textbox ورودی را باید تغییر بدید :


string Hash = FormsAuthentication.HashPasswordForStoringInConfig File(txtPass.Text, "SHA1");

A.Yousefi
چهارشنبه 04 آبان 1390, 22:50 عصر
من میتونم از این روش استفاده کنم و قبل از ذخیره اطلاعات مهم تو سشن اونارو با استفاده از این روش کد کنم؟
اینجوری دیگه امکان سرقت اطلاعات سشن وجود نداره؟
وقتی کد کردمش چجوری میتونم اطلاعاتشو بخونم؟
میخوام یه عددو کد کنم بذارم تو سشن و یه جای دیگه بخونمش تو لیبل نمایشش بدم،چجوری میتونم دیکد کنم؟

jaykob
پنج شنبه 05 آبان 1390, 11:09 صبح
من میتونم از این روش استفاده کنم و قبل از ذخیره اطلاعات مهم تو سشن اونارو با استفاده از این روش کد کنم؟
اینجوری دیگه امکان سرقت اطلاعات سشن وجود نداره؟
وقتی کد کردمش چجوری میتونم اطلاعاتشو بخونم؟
میخوام یه عددو کد کنم بذارم تو سشن و یه جای دیگه بخونمش تو لیبل نمایشش بدم،چجوری میتونم دیکد کنم؟

سلام

برای این کار شما باید از الگوریتم های برگشت پذیر استفاده کنید مثل base64 و ... که سرچ کنید مثال های زیادی هست .

A.Yousefi
پنج شنبه 05 آبان 1390, 12:54 عصر
سلام

برای این کار شما باید از الگوریتم های برگشت پذیر استفاده کنید مثل base64 و ... که سرچ کنید مثال های زیادی هست .
الگوریتم SHA1 برگشت ناپذیره؟
پس به چه دردی میخوره؟
منظورم اینه که اگه قرار باشه مقداریو کد کنه که دیگه غیر قابل برگشت باشه پس چجوری بکار میاد؟
من میخوام رمز حساب بانکی کاربر رو کد کنم و بذارم تو سشن یه جای دیگه اونو بخونم و ازش استفاده کنم.از چه روشی استفاده کنم؟
امن ترین روش برگشت پذیر کدوم روشه؟

jaykob
پنج شنبه 05 آبان 1390, 13:24 عصر
الگوریتم SHA1 برگشت ناپذیره؟
پس به چه دردی میخوره؟
منظورم اینه که اگه قرار باشه مقداریو کد کنه که دیگه غیر قابل برگشت باشه پس چجوری بکار میاد؟
من میخوام رمز حساب بانکی کاربر رو کد کنم و بذارم تو سشن یه جای دیگه اونو بخونم و ازش استفاده کنم.از چه روشی استفاده کنم؟
امن ترین روش برگشت پذیر کدوم روشه؟

الگوریتم های برگشت ناپذیر مثل sha1 اگه در قالب یک مثال بخوام براتون توضیح بدم مثل رمز های عبور کاربران رو می شه مثال زد که شما رمز عبور رو hash می کنید بعد وارد دیتابیس می کنید و برای صحت ورود کاربر که همون login هست شما دوباره پسورد رو hash می کنید و با hash قبلی مقایسه می کنید . حسنش اینکه که attack هایی که به این نوع می شه استفاده از database password ها هست که اگر پسورد خوبی هم انتخاب کنید خیلی امنیت رو بالا می بره .

نمونه متقارن DES , RC2 هستند که کلید مخفی برای رمزنگاری و رمز گشایی استفاده می شه . نمونه نا متقارن هم RSA هست که از یک جفت کلید ( عمومی ، مخفی ) برای رمزنگاری و رمزشگایی استفاده می کنند . HASH هم که به صورت یک طرفه هست و برای کار شما مناسب نیست .

A.Yousefi
پنج شنبه 05 آبان 1390, 19:28 عصر
الگوریتم های برگشت ناپذیر مثل sha1 اگه در قالب یک مثال بخوام براتون توضیح بدم مثل رمز های عبور کاربران رو می شه مثال زد که شما رمز عبور رو hash می کنید بعد وارد دیتابیس می کنید و برای صحت ورود کاربر که همون login هست شما دوباره پسورد رو hash می کنید و با hash قبلی مقایسه می کنید . حسنش اینکه که attack هایی که به این نوع می شه استفاده از database password ها هست که اگر پسورد خوبی هم انتخاب کنید خیلی امنیت رو بالا می بره .

نمونه متقارن DES , RC2 هستند که کلید مخفی برای رمزنگاری و رمز گشایی استفاده می شه . نمونه نا متقارن هم RSA هست که از یک جفت کلید ( عمومی ، مخفی ) برای رمزنگاری و رمزشگایی استفاده می کنند . HASH هم که به صورت یک طرفه هست و برای کار شما مناسب نیست .
ممنون از جوابتون،پس با این حساب خود برنامه نویسم از پسوردا خبر نداره،ولی من هنوز یه چیزیو نفهمیدم.
سشن ناامنه،کوکی هم ناامنه.
اما هر دوی اینا وقتی رمزنگاری شن امن میشن.
چون چه لزومی داره که من بیام از سشن استفاده کنم و حافظه سرورو اشغال کنم؟
از کوکی رمزنگاری شده استفاده میکنم.
پس سشن به چه دردی میخوره اونوقت؟
همه جا اینو میگن،حتی تو کلاسای همین برنامه نویسم که رفتم اینو بهم گفت آقای کرامتی(مدرس کلاس و موسس این سایت):
استفاده از کوکی ها چون تو کامپیوتر کلاینت ذخیره میشن اصلا امنیت نداره ولی سشن چون تو حافظه سرور ذخیره میشه امنه امنه.
ولی حالا فهمیدم که اصلا اگه امکان استفاده از کوکی نباشه از سشن هم نمیشه استفاده کرد و استفاده از سشن هم امن نیست و هکر میتونه سشن رو سرقت کنه،و باید برای امنیت سشن از الگوریتم های رمزنگاری استفاده کرد.
آقای کرامتی اگه میشه خودتون توضیح بدین....:متفکر:

A.Yousefi
جمعه 06 آبان 1390, 18:38 عصر
کسی که به سوالای من جواب نمیده،باور کنید کل تاپیکای این سایت و اینترنت رو در مورد این موضوع خوندم،آقای راد تو این (http://barnamenevis.org/showthread.php?91241-روش-های-محافظت-و-موارد-رعایت-اصول-امنیتی-در-برنامه-های-ASP.NET&p=452114&viewfull=1#post452114) پست گفتن که :
Session Hijacking معمولا به دو طریق انجام می گیره:
1) حدس زدن Session ID
2) سرقت کوکی حاوی Session ID
خب ما میتونیم از سشن ها به صورت CookieLess استفاده کنیم که اینجوری دیگه کوکی تو سیستم کلاینت ذخیره نمیشه پس عملا مورد دو نمیتونه اتفاق بیفته،مورد اولم که تقریبا غیر ممکنه چون SID تولید شده توسط ASP.NET ،دارای 120 بیته که حدش زدنش امکان پذیر نیست.
پس میتونیم بگیم اگه از سشن ها به صورت CookieLess استفاده شه امکان سرقتشون عملا غیر ممکنه و حداکثر امنیت رو دارن؟

A.Yousefi
شنبه 07 آبان 1390, 16:21 عصر
یه جورایی دیگه خودم جوابو پیدا کردم ولی بازم اگه یکی لطف کنه بگه درست نتیجه گیری کردم یا نه ممنون میشم.
اگه ما تو مد CookieLess کار کنیم فقط میتونیم جلوی حمله xss و سرقت کوکیو بگیریم اما هنوز خططرات دیگه ای مثه session fixation یا Session sidejacking وجود داره که بوسیله اونا میشه به داده های سشن حمله کرد.
راه حل کلی علاوه بر روش های مقابله با حملات بالا برای مقابله session Hijacking منحصر به فرد تر کردن session id بوسیله اضافه کردن ip کاربر ته SID هست.
در کل سشن محل مناسبی برای ذخیره کردن اطلاعاتی که حیاتین نیست.
من هنوز بااین آخرش مشکل دارم که خب اگه نمیشه توش اطلاعات حیاتی ریخت چرا اصلا باید ازشون استفاده کنیم خب میریم از کوکی ها که تحت کلاینتن استفاده میکینم،درسته؟

hjran abdpor
شنبه 07 آبان 1390, 16:30 عصر
با سلام.
تو سشن میشه اطلاعات حیاتی ریخت با استفاده از sha ولی به خاطر اینکه تحت سرور است و فضایی را میگرد خیلی استفاده نمیشه!!!!!

A.Yousefi
شنبه 07 آبان 1390, 18:08 عصر
با سلام.
تو سشن میشه اطلاعات حیاتی ریخت با استفاده از sha ولی به خاطر اینکه تحت سرور است و فضایی را میگرد خیلی استفاده نمیشه!!!!!
هر چقدرم که رمزنگاری کنیم باز نمیشه احتمال حملات session Hijacking رو نادیده گرفت،امنیتش خوبه ولی نمیشه بهش اعتماد کامل کرد بهتره اینجور اطلاعات رو تو دیتابیس ریخت و از اونجا خوند،البته من اینایی که گفتم همش حاصل خوندن پستهای آقای راد و بعضا آقای موسوی بود!