PDA

View Full Version : راهنمایی در موردنحوه استفاده از MD5 و کاربردهای آن



idocsidocs
سه شنبه 09 آذر 1389, 00:28 صبح
من تا حالا از تابع sha1 برای رمز گذاری استفاده می کردم. اطلاعاتی که در مورد این تابع دارم اینه که تابع sha1 یه رشته 40 کاراکتری ایجاد می کنه.

ایراد این تابع اینه که رشته رمز گذاری شده رو نمی تونه به حالت اول برگردونه.

برای اینکه با این مشکل مواجه نشم می خوام از الگوریتم MD5 استفاده کنم. من هیچ اطلاعاتی از این الگوریتم ندارم، لطفا در موردنحوه استفاده از MD5 و کاربردهای این الگوریتم راهنماییم کنید.

موقعی که کاربر رمز عبورش رو فراموش می کنه، باید بتونیم کلمه رمز ذخیره شده توی پایگاه داده رو از حالت رمز خارج کنیم و برای کاربر ایمیل کنیم. اما با تابع sha1 نمی شه عبارتهای رمز شده رو از حالت رمز خارج کرد. می شه بگید به کمک چه الگوریتمی می شه این کار رو انجام داد؟

hossin.esm
سه شنبه 09 آذر 1389, 00:47 صبح
تابع md5 مثل sha1 برای رمز گذاری استفاده می شود. تابع sha1 یه رشته 40 کاراکتری ایجاد می کنه.
ولی md5 فکر کنم یک رشته 32 کارکتری ایجاد می کنه.و نسبت به sha1 ضعیف تر است.
این تابع هم مثل sha1 رشته رمز گذاری شده رو نمی تونه به حالت اول برگردونه.

UnnamE
سه شنبه 09 آذر 1389, 01:22 صبح
در مورد md5 هم بله 99.9% قابل بازگشت نيست

ولی md5 فکر کنم یک رشته 32 کارکتری ایجاد می کنه.و نسبت به sha1 ضعیف تر است.
ميشه بگيد چرا و چگونه ؟ و چرا اكثرا از md5 استفاده ميكنند ؟

hossin.esm
سه شنبه 09 آذر 1389, 10:18 صبح
ميشه بگيد چرا و چگونه ؟ و چرا اكثرا از md5 استفاده ميكنند ؟


<?php
print sha1('a'); //output: 86f7e437faa5a7fce15d1ddcb9eaeaea377667b8
print '<br />';
print md5('a'); //output: 0cc175b9c0f1b6a831c399e269772661
?>

الگوریتم sha1 الگوریتم جدیدتری نسبت به md5 هست در نتیجه قوی تر است. اگر اکثرا از md5 استفاده می کنند به دلیل آشنایی بیشتر به این الگوریتم است.

idocsidocs
سه شنبه 09 آذر 1389, 11:07 صبح
<?php
print sha1('a'); //output: 86f7e437faa5a7fce15d1ddcb9eaeaea377667b8
print '<br />';
print md5('a'); //output: 0cc175b9c0f1b6a831c399e269772661
?>

الگوریتم sha1 الگوریتم جدیدتری نسبت به md5 هست در نتیجه قوی تر است. اگر اکثرا از md5 استفاده می کنند به دلیل آشنایی بیشتر به این الگوریتم است.


به کمک چه الگوریتمی می تونم داده رمز گذاری شده رو از حالت رمز خارج کنم؟

hossin.esm
سه شنبه 09 آذر 1389, 11:38 صبح
به کمک چه الگوریتمی می تونم داده رمز گذاری شده رو از حالت رمز خارج کنم؟
رشته های رمز شده به وسیله md5,sha1 قابل برگشت نیست .مگر با حدس زدن و...

دو تا مثال زیر را ببین امیدوارم به دردت بخوره (این الگوریتم قابل بازگشت است)

binyaft
سه شنبه 09 آذر 1389, 12:53 عصر
میتونید یک الگوریتم برای خودت بنویسی !
برای برگردوندن رمز عبور ( رمز عبور رو فراموش کرده اید؟ ) میتونید یک لینک به ایمیل کاربر ارسال کنید که به محض کلیک کردن روی اون ، رمز کاربر در دیتابیس یک عدد تصادفی باشه !
روش کار سیستم وردپرس رو نگاه کنی ، میفهمی چی میگم

kavoshgar63
سه شنبه 09 آذر 1389, 13:06 عصر
سلام
اصلا نیازی نیست که بخوای خودت رو به زحمت بندازی و رمز رو برگردونی .
منم با منطق جناب binyaft (http://barnamenevis.org/member.php?106845-binyaft) موافقم.هر وقت که کاربر رمزش رو فراموش کرد یه ایمیل براش بفرست تا پسوردش رو ریست کنه یعنی اگر روی لینک کلیک کرد بیاد توی سایت شما و اولین قدم از کاربر بخواد که رمز جدید تعریف کنه.
رمز جدید رو جایگزین رمز قبلی کن.

UnnamE
سه شنبه 09 آذر 1389, 15:48 عصر
استاد حسين مرسي عزيز!(دكمه تشكر نيست كه) :D
----
اصلا لازم ني كسي بشينه واسه خودش الگو بنويسه كه رمزنگاري رو برگردونه چرا كه قولش بهش ميدم اگه قابل بازگشت باشه به راحتي قابل حدس هم ميشه
اين واسه اين
همون md5 , sha1 كه هستن عالي هستن!

binyaft
سه شنبه 09 آذر 1389, 19:58 عصر
اصلا لازم ني كسي بشينه واسه خودش الگو بنويسه كه رمزنگاري رو برگردونه چرا كه قولش بهش ميدم اگه قابل بازگشت باشه به راحتي قابل حدس هم ميشه
یعنی شما میگی اگر ما رمز رو بپیچونیم ( حالا با یک سری الگوریتم ها ) و بتونیم برگردونیم ، میتونید حدس بزنید؟

همون md5 , sha1 كه هستن عالي هستن!
نیاز کسی که سوال رو پرسیده اینه که دوباره بتونه رمز رو برگردونه!

funpatogh
سه شنبه 09 آذر 1389, 20:13 عصر
md5 ,sha1 قابل باز گشت نیستند و برای اینکه رمز عبور فراموش شده بتوانید راهی داشته باشید اینگونه عمل کنید که یک لینک برای ایمیل کاربر بفرستید و با کلیک روی لینک رمز قبلی از بین برود و یک رمز جدید به کاربر داده شود و دوباره رمز جدید براش ایمیل شود
و بعد وقتی که با رمز لاگین کرد دوباره هر رمزی که دوست داشت برای خودش بگزاره
یک سری سایت ها هم هستند که از طریق دیکشنری رمز md5 رو دیکود میکنند
یعنی یک بانک عظیمی از حروف و کلمات رو به صورت md5 ذخیره کردن و شما وقتی رمز رو بهش میدهید توی بانک جستجو میشه و اگر چیزی شبیه به آن موجود بود اون کلمه ای که رمز شده رو نشان میدهند
و فقط دیتابیس هست و کار خاصی انجام نمیدهند
که گاهی اوقات هم نمیتونند تشخیص بدهند

UnnamE
سه شنبه 09 آذر 1389, 21:44 عصر
یعنی شما میگی اگر ما رمز رو بپیچونیم ( حالا با یک سری الگوریتم ها ) و بتونیم برگردونیم ، میتونید حدس بزنید؟
منظور من آديمزاد نبود، اين بود كه اگه الگوريتمي ايجاد كني كه رمز ايجاد شده قابل بازگشت باشه ، اطمينان ميدم ديكد كردنش حتمي ميشه توسط يكي ديگه(منظور برنامه اي كه ميسازن ها :D)

نیاز کسی که سوال رو پرسیده اینه که دوباره بتونه رمز رو برگردونه!
شرمنده همون md5 , sha1 كه هستن از فكر ديكد بياين بيرون :D (منظور من اينجا با ايجاد كننده تاپيك بود)
==
ته نوشت: binyaft جان يه وقت نگي آقا من يه رمز ميزنم بيا ديكد كن ها :D