Bcrypt היא פונקציית האשינג סיסמאות שתוכננה להיות איטית ויקרה חישובית, מה שהופך אותה לעמידה בפני התקפות brute-force. זהו תקן התעשייה לאחסון מאובטח של סיסמאות.
איך Bcrypt עובד
Bcrypt משתמש בצופן Blowfish עם מלח וגורם עלות. גורם העלות (סבבים) קובע כמה איטרציות האלגוריתם מבצע - כל הגדלה מכפילה את זמן החישוב, מה שהופך התקפות לקשות באופן אקספוננציאלי.
למה להשתמש ב-Bcrypt?
בניגוד ל-MD5/SHA שהם מהירים (רע לסיסמאות), bcrypt איטי בכוונה. זה הופך התקפות brute-force ללא מעשיות. עלות של 10 פירושה 2^10 (1,024) איטרציות, שלוקחות ~100ms להאשינג - זניח להתחברות אך הרסני לתוקפים שמנסים מיליארדי סיסמאות.
שיטות עבודה מומלצות לאבטחה
השתמש בעלות 10-12 לרוב האפליקציות. עלות 10 היא המינימום המומלץ הנוכחי. לעולם אל תשתמש ב-MD5 או SHA-1 לסיסמאות - הם נפרצו. לעולם אל תאחסן סיסמאות בטקסט רגיל. תמיד השתמש ב-bcrypt, Argon2 או scrypt להאשינג סיסמאות.