صفحه 2 از 3 نخستنخست 123 آخرینآخرین
نمایش نتایج: از شماره 11 تا 20 , از مجموع 30

موضوع: امن ترین رمزگذاری برای ذخیره سازی password در دیتابیس

  1. #11
    عضو انجمن k-pax آواتار ها
    تاریخ عضویت
    Dec 2011
    محل سکونت
    127.0.0.1
    نوشته ها
    286
    تشکر تشکر کرده 
    511
    تشکر تشکر شده 
    545
    تشکر شده در
    347 پست

    پیش فرض پاسخ : امن ترین رمزگذاری برای ذخیره سازی password در دیتابیس

    ببینید دیکد کردن md5 راحت نیست و یا باید پسورد توی دیتابیس دیکد کننده باشه و یا به روش brute force استفاده کنه !

    که البته زمان پیدا شدن پسورد در روش brute force بستگی زیادی به طول پسورد داره . مثلا پسورد 10-12 حرفی شاید 100 سال طول بکشه :D
    حالا هرچی این پردازنده قوی تر باشه کمتر اما با سرورهای فوق پرسرعت ناسا هم زمان خیلی زیادی طول میکشه که بخواید یه پسورد 10 حرفی دیکد کنید!

    من خودم از یه روش استفاده میکنم . که شاید بتونه بهتون کمک کنه !

    پسورد اول را sha1 میکنم
    یه عبارت مشخص بهش اضافه میکنم و در نهایت بصورت md5 تو دیتابیس ذخیره میکنم !

    با این روش حتی پسورد 123 هم قایل دیکد شدن نیست !


    بهتره برنامنویس برای پسورد محدودیت بزاره و بگه کمتر از 6 یا 8 حرف نباشه ! و از حروف بزرگ و کوچیک و اعداد استفاده شده باشه !
    اینجوری خیلی بهتره !

    فرض کنید کاربر این رمز رو داد: " F36*Y%5eg653G "
    حالا این md5 یا هش میشه و تو دیتابیس ذخیره میشه، همین مقداری که تو دیتابیس ذخیره شده رو بدین به کسی به راحتی میتونه پسورد اصلی رو در بیاره! درسته؟؟؟ پس درواقع اون طور که میتونست از رمز محافطت کنه نتونسته این کد گذاری خوب عمل کنه
    فکر نکنم کسی بتونه چنین پسوردی دیکد کنه . مگر اینکه از قبل توی دیتابیسش باشه!
    جایی خودنم که دیتابیس پسوردها چیزی حدود 30 ترابایت هستش . ! و هرروز هم داره زیادتر میشه !
    فروش سرور مجازی NVMe و رم DDR4
    آریوسرور | تلگرام ما : @Ario_Server
    سرور مجازی NVMe ایران

  2. تعداد تشکر ها ازk-pax به دلیل پست مفید


  3. # ADS




     

  4. #12
    عضو انجمن iroo آواتار ها
    تاریخ عضویت
    Apr 2015
    نوشته ها
    561
    تشکر تشکر کرده 
    1,482
    تشکر تشکر شده 
    211
    تشکر شده در
    169 پست

    پیش فرض پاسخ : امن ترین رمزگذاری برای ذخیره سازی password در دیتابیس

    نقل قول نوشته اصلی توسط AtrafNet نمایش پست ها
    سلام
    اگه برای php می خواین خود php در لینک زیر گفته که برای هش کردن پسورد و سایر اطلاعات مهم به جای الگوریتم های md5 و sha1 و... از Blowfish که پیشنهادی خودش هست استفاده کنید.

    http://php.net/manual/en/faq.passwords.php


    ممنونم_رفیق
    در مورد crypt() شنیدم، میشه راهنمائی کنید تو این زمینه یا یه مثالی بزنید، واقعا امن هست؟

    درمورد Blowfish - brute force چی هستند اینا؟؟؟ روش که دوستان گفتم به ذهنم خوب اومد، پسورد کاربر + یه مقدار پیش و روش های متنوع کد گذاری
    انجمن سئو فروم (Https://seoforum.ir)؛ تالار پرسش و پاسخ سئو و دیجیتال مارکتینگ ایران

  5. تعداد تشکر ها از iroo به دلیل پست مفید


  6. #13
    عضو انجمن AtrafNet آواتار ها
    تاریخ عضویت
    Nov 2016
    نوشته ها
    259
    تشکر تشکر کرده 
    2,584
    تشکر تشکر شده 
    729
    تشکر شده در
    417 پست

    پیش فرض پاسخ : امن ترین رمزگذاری برای ذخیره سازی password در دیتابیس

    نقل قول نوشته اصلی توسط iroo نمایش پست ها
    ممنونم_رفیق
    در مورد crypt() شنیدم، میشه راهنمائی کنید تو این زمینه یا یه مثالی بزنید، واقعا امن هست؟

    درمورد Blowfish - brute force چی هستند اینا؟؟؟ روش که دوستان گفتم به ذهنم خوب اومد، پسورد کاربر + یه مقدار پیش و روش های متنوع کد گذاری

    منم اطلاع دقیقی از روش Blowfish ندارم اما پاراگراف اول تصویر بالا گفته که md5 و sha1 و sha256 برای این جهت هش کردن پسورد امن نیستن چون اینا بیشتر برای ارائه سرعت بالا در تولید خروجی هش شده ایجاد شدن و خط بعدش گفته یه کامپیوتر قدرتمند می تونه با روش Brute Force به رمز اصلی دست پیدا کنه که فکر کنم منظور اینجا از php علاوه بر امنیت بیشتر Blowfish سرعت کند ترش هم هست که اینجا مزیت حساب میشه چون با Brute Force مسلماً وقت خیلی بیشتری نسبت به md5 و sha1 نیازه تا بشه (شاید یه روزی) کرکش کرد
    اینو باید از کارشناس های خود php بپرسید که چرا Blowfish رو پیشنهاد دادن.
    می تونید تو این زمینه لینک های زیر هم مطالعه کنید:

    http://www.the-art-of-web.com/php/blowfish-crypt/
    https://joshtronic.com/2013/06/06/en...swords-in-php/

  7. تعداد تشکر ها از AtrafNet به دلیل پست مفید


  8. #14
    عضو انجمن lizard.tiny آواتار ها
    تاریخ عضویت
    Jul 2011
    محل سکونت
    miladworkshop.ir
    نوشته ها
    480
    تشکر تشکر کرده 
    234
    تشکر تشکر شده 
    960
    تشکر شده در
    478 پست

    پیش فرض پاسخ : امن ترین رمزگذاری برای ذخیره سازی password در دیتابیس

    درود

    برای اینکار باید دنبال الگوریتم های اختصاصی خودتون باشید

    به عنوان مثال زمانی که کاربرا عضو میشه و اکانت ایجاد میشه یک کاراکتر Random واسش در نظر بگیرید ( به صورت یونیک )

    حالا اون رو با پسورد ترکیب کنید

    در ساده ترین حالت :

    کد PHP:
    $randomCode "2s5cHdh";$password     "12345";
    $encodePassword md5($randomCode .'_'$password); 
    یا استفاده از مقادیر ثابت دیگه مثل نام کاربری

    کد PHP:
    $randomCode "2s5cHdh";$username     "admin";$password     "12345";
    $encodePassword md5($randomCode .'_'$password .'_'$username); 
    اما پیشنهاد بنده این هست که همیشه به جز استفاده از مقار یونیک در تیبل کاربرا یک کد ثابت هم در خود سورس قرار بدید تا در صورت هک شدن دیتابیس و دسترسی به کدهای یونیک دسترسی به کد ثابت موجود در سورس فراهم نباشه, تا اینجا اگه دیتابیس شما هک بشه 50 درصد امنیت کاربران حفظ میشه مگر اینکه سورس و الگوریتم در اختیار هکر قرار بگیره

    میتونید هم از ترکیب md5 و sha1 به صورت ترگیبی با الگوریتم جدا استفاده کنید

    و راهای بسیار دیگه که با کمی خلاقیت و تسلط به برنامه نویسی PHP میتونید امنیت پسورد کاربرانتون رو چندین برابر کنید

    البته این مورد یک مثال خیلی ساده و ابتدایی هست, با صرف کمی زمان و کمی مطالعه میتونید الگوریتم اختصاصی خودتون رو بنویسید که از پیچیده گی بسیار بیشتری برخوردار باشه

    اما در هر صورت هر چیزی که قابل کد شدن باشه قابلیت دیکد هم داره اما با توجه به سختی و نوع الگوریتم زمان بیشتر یا کمتری رو میگیره
    Contact Me >> Mobile : 09304443004 | Telegram ID : @miladworkshop | Email : info@miladworkshop.ir

  9. تعداد تشکر ها ازlizard.tiny به دلیل پست مفید


  10. #15
    عضو جدید
    تاریخ عضویت
    Apr 2017
    محل سکونت
    اصفهان
    نوشته ها
    3
    تشکر تشکر کرده 
    0
    تشکر تشکر شده 
    4
    تشکر شده در
    3 پست

    پیش فرض پاسخ : امن ترین رمزگذاری برای ذخیره سازی password در دیتابیس

    درود بر شما. به نظر من با ترکیب دو رمز نگاری میتوانید امنیت رو بالا ببرید به عنوان مثال یکبار پسورد رو با md5 رمز نگاری کرده و همون پسورد رمز نگاری شده رو با hash مجددا رمز نگاری کنید. با این کار امکان decode کردن به حد صفر میرسد.
    به عنوان مثال من عدد 123 رو با این روش رمز نگاری کردم به صورت زیر در امد.
    6e5dcee9fc558420d007c8f06f284c33
    طراحی سایت
    ویرایش توسط sinaazemat : April 13th, 2017 در ساعت 22:44

  11. تعداد تشکر ها ازsinaazemat به دلیل پست مفید


  12. #16
    عضو انجمن hegza آواتار ها
    تاریخ عضویت
    Jun 2015
    محل سکونت
    +48
    نوشته ها
    634
    تشکر تشکر کرده 
    1,391
    تشکر تشکر شده 
    1,140
    تشکر شده در
    739 پست

    پیش فرض پاسخ : امن ترین رمزگذاری برای ذخیره سازی password در دیتابیس

    بنظر من بهترین ترکیب کریپت با md5 هست
    1.طول رشته در فیلد دیتا بیس کوتاه میشه در کلیت حجم نصف و سرچ رو نیز بهبود میده
    مشابه زیر
    کد PHP:
    function hashPass($value){
        
    $value=crypt('$#%#$%@#'.$value.'^&()(@',md5("!#^&$value"));
        return 
    $value;

    پروردگارا مرا فهم ده:: تا متوقع نباشم. دنیا و مردمانش باید مطابق میل من رفتار کنند.

  13. تعداد تشکر ها ازhegza به دلیل پست مفید


  14. #17
    عضو انجمن M.Abooali آواتار ها
    تاریخ عضویت
    Apr 2013
    محل سکونت
    Shiraz
    نوشته ها
    269
    تشکر تشکر کرده 
    149
    تشکر تشکر شده 
    841
    تشکر شده در
    385 پست

    پیش فرض پاسخ : امن ترین رمزگذاری برای ذخیره سازی password در دیتابیس

    برای اینکار باید دنبال الگوریتم های اختصاصی خودتون باشید
    بسیاری از توصیه های دوستان خوب بود. اما بهترین اشاره همین نقل قول فوق است.


    ضمن این که فراموش نکنید شما مثلا دارید رمز حساب کاربری انجمن یک نفر را ذخیره می کنید یا رمز حساب بانکی کاربر.

    منظورم این است سطح امنیت را لحاظ کنید و مثلا برای دوچرخه خود قفلی طراحی نکنید که حملش به ماشین نیاز داشته باشد.


    به نظر من md5 به صورت ترکیب با یک الگو که فقط برنامه نویس ازش خبر دارد به قدر کافی (حتی در رده یک بانک) میتواند ایمن باشد. شما میتوانید salt را با الگویی اختصاصی خودتان تولید کنید. در جایی که هیچ کس ازش خبردار نیست. تا نیاز نباشد مثل خیلی اسکریپت ها salt را کنار رمز بزارید (مثل IPB) که راحت در دسترس باشد. مثلا بر اساس روز هفته یا ip رجیستر شده کاربر با کمک md5 یا شاها یک salt یونیک برای اون کاربر ایجاد می کنید.

    از اونجا که تاریخ رجیستر کاربر یا مثلا IP که باش در سایت شما رجیستر کرده همیشه موجود است، همواره میتونید این salt را بازیابی کنید و نیاز نیست در دیتابیس ذخیره اش کنید. کسی هم نمی داند این salt از کجا آمده و بر فرض انکرایپت کردن هش md5 شما به رمز درستی دست پیدا نمی کند.


    اگر موضوع فرای آن باش و دیتای فوق محرمانه باشند که دیگر طبق الگوها اصلا داشتن پسورد فاقد امنیت است و باید رفت سراغ کلید رمزنگاری این حرف ها (بیشتر در رده اطلاعاتی سازمان ها).

    در اون متد شما شبیه ssl عمل می کنید. کلید رمز نگاری خصوصی دست کاربر است و عمومی در سمت سایت عرضه شده و تطابق اون مجوز احراز هویت کاربر. البته جایی که شما دیتا را انکرایپت شده ذخیره نمی کنید استفاده از این متد بی معنی است. این متد جایی کاربرد دارد که شما میخوای مدیر سایت هم به اطلاعات حساب شما دسترسی نداشته باشد. یعنی هیچ کس جز خود کاربر. (نه فقط لاگین کردن بلکه کل اطلاعات حساب).
    ویرایش توسط M.Abooali : April 14th, 2017 در ساعت 13:33
    [ فعالیت تجاری در اینجا ندارم | پاسخ سوالات فقط در تاپیک | اطلاعات بیشتر درباره من: https://abooali.ir ]

  15. تعداد تشکر ها ازM.Abooali به دلیل پست مفید


  16. #18
    عضو انجمن hegza آواتار ها
    تاریخ عضویت
    Jun 2015
    محل سکونت
    +48
    نوشته ها
    634
    تشکر تشکر کرده 
    1,391
    تشکر تشکر شده 
    1,140
    تشکر شده در
    739 پست

    پیش فرض پاسخ : امن ترین رمزگذاری برای ذخیره سازی password در دیتابیس

    نقل قول نوشته اصلی توسط M.Abooali نمایش پست ها
    بسیاری از توصیه های دوستان خوب بود. اما بهترین اشاره همین نقل قول فوق است.


    ضمن این که فراموش نکنید شما مثلا دارید رمز حساب کاربری انجمن یک نفر را ذخیره می کنید یا رمز حساب بانکی کاربر.

    منظورم این است سطح امنیت را لحاظ کنید و مثلا برای دوچرخه خود قفلی طراحی نکنید که حملش به ماشین نیاز داشته باشد.


    به نظر من md5 به صورت ترکیب با یک الگو که فقط برنامه نویس ازش خبر دارد به قدر کافی (حتی در رده یک بانک) میتواند ایمن باشد. شما میتوانید salt را با الگویی اختصاصی خودتان تولید کنید. در جایی که هیچ کس ازش خبردار نیست. تا نیاز نباشد مثل خیلی اسکریپت ها salt را کنار رمز بزارید (مثل IPB) که راحت در دسترس باشد. مثلا بر اساس روز هفته یا ip رجیستر شده کاربر با کمک md5 یا شاها یک salt یونیک برای اون کاربر ایجاد می کنید.

    از اونجا که تاریخ رجیستر کاربر یا مثلا IP که باش در سایت شما رجیستر کرده همیشه موجود است، همواره میتونید این salt را بازیابی کنید و نیاز نیست در دیتابیس ذخیره اش کنید. کسی هم نمی داند این salt از کجا آمده و بر فرض انکرایپت کردن هش md5 شما به رمز درستی دست پیدا نمی کند.


    اگر موضوع فرای آن باش و دیتای فوق محرمانه باشند که دیگر طبق الگوها اصلا داشتن پسورد فاقد امنیت است و باید رفت سراغ کلید رمزنگاری این حرف ها (بیشتر در رده اطلاعاتی سازمان ها).

    در اون متد شما شبیه ssl عمل می کنید. کلید رمز نگاری خصوصی دست کاربر است و عمومی در سمت سایت عرضه شده و تطابق اون مجوز احراز هویت کاربر. البته جایی که شما دیتا را انکرایپت شده ذخیره نمی کنید استفاده از این متد بی معنی است. این متد جایی کاربرد دارد که شما میخوای مدیر سایت هم به اطلاعات حساب شما دسترسی نداشته باشد. یعنی هیچ کس جز خود کاربر. (نه فقط لاگین کردن بلکه کل اطلاعات حساب).
    درود
    راه که زیاد
    اما باید دید هدف چیه
    مثلا برای خیلی ایمن شدن میشه یوزر و یا ایمیل یا ... md5 کرد و substr و روز ماه ثبت شده از رشته انم اون که طبیعتا 31 حداکثر میشه مثلا 5 تا رو گرفت و موارد مشابه که فرمودین
    اما واقعا نیاز نیست مهمترین اصل کامپایل کدها هست که میشه تا حدودی زیادی امنیت رو بالا برد یا شخصی سازی فانکشن های دیفالت php در سرور اختصاصی سایت و...
    پروردگارا مرا فهم ده:: تا متوقع نباشم. دنیا و مردمانش باید مطابق میل من رفتار کنند.

  17. تعداد تشکر ها ازhegza به دلیل پست مفید


  18. #19
    عضو انجمن AMIB آواتار ها
    تاریخ عضویت
    Sep 2016
    نوشته ها
    159
    تشکر تشکر کرده 
    12
    تشکر تشکر شده 
    131
    تشکر شده در
    106 پست

    پیش فرض پاسخ : امن ترین رمزگذاری برای ذخیره سازی password در دیتابیس

    روش‌های از من درآوردی را فراموش کنید
    همون طور که یکی از دوستان گفتند، بهترین روش استفاده از دستورات اضافه شده در php جدید با نام password_hash و password_verify هست
    آخرین اصول امنیتی روز در این توابع پیاده‌سازی شده و امکان استفاده از روش‌های متداول برای بازیابی رمزها در توابع فوق تقریبا غیرممکن است

  19. تعداد تشکر ها از AMIB به دلیل پست مفید


  20. #20
    عضو انجمن hegza آواتار ها
    تاریخ عضویت
    Jun 2015
    محل سکونت
    +48
    نوشته ها
    634
    تشکر تشکر کرده 
    1,391
    تشکر تشکر شده 
    1,140
    تشکر شده در
    739 پست

    پیش فرض پاسخ : امن ترین رمزگذاری برای ذخیره سازی password در دیتابیس

    نقل قول نوشته اصلی توسط AMIB نمایش پست ها
    روش‌های از من درآوردی را فراموش کنید
    همون طور که یکی از دوستان گفتند، بهترین روش استفاده از دستورات اضافه شده در php جدید با نام password_hash و password_verify هست
    آخرین اصول امنیتی روز در این توابع پیاده‌سازی شده و امکان استفاده از روش‌های متداول برای بازیابی رمزها در توابع فوق تقریبا غیرممکن است
    سلام بر شما
    هیچ چیز غیره ممکنی در دنیای انفورماتیک وجود ندارد
    لازمه عرض کنم برای md5 و ... هیمن تعریف و تمجید شما در قدیم بود
    کلا هر چیزی پابلیک باشه شانس لو رفتن الگوریتمش بیشتر میشه
    من درآوردی رو من نمیدونم چی مینامید
    ولی همون توابع رو هم کسانی نوشتن که من بودن از مریخ که نیومدن
    سعی کنید دیدتون رو کمی ئسیع تر کنید
    با تشکر
    پروردگارا مرا فهم ده:: تا متوقع نباشم. دنیا و مردمانش باید مطابق میل من رفتار کنند.

  21. تعداد تشکر ها از hegza به دلیل پست مفید


صفحه 2 از 3 نخستنخست 123 آخرینآخرین

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

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

موضوعات مشابه

  1. پاسخ ها: 3
    آخرين نوشته: September 26th, 2017, 00:34
  2. درخواست سرور مجازی از دیتاسنتر ایس کلو ( icecolo ) انگلیس
    توسط fashen در انجمن درخواست سرور مجازی
    پاسخ ها: 1
    آخرين نوشته: August 26th, 2014, 11:02
  3. پاسخ ها: 13
    آخرين نوشته: January 3rd, 2014, 17:18
  4. پاسخ ها: 0
    آخرين نوشته: October 2nd, 2013, 22:14
  5. پاسخ ها: 1
    آخرين نوشته: January 12th, 2013, 04:33

مجوز های ارسال و ویرایش

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