Το Bcrypt είναι μια συνάρτηση hash κωδικών σχεδιασμένη να είναι αργή και υπολογιστικά δαπανηρή, καθιστώντας την ανθεκτική σε επιθέσεις brute-force. Είναι το βιομηχανικό πρότυπο για ασφαλή αποθήκευση κωδικών.
Πώς Λειτουργεί το Bcrypt
Το Bcrypt χρησιμοποιεί τον κρυπτογράφο Blowfish με αλάτι και παράγοντα κόστους. Ο παράγοντας κόστους (γύροι) καθορίζει πόσες επαναλήψεις εκτελεί ο αλγόριθμος - κάθε αύξηση διπλασιάζει τον χρόνο υπολογισμού, κάνοντας τις επιθέσεις εκθετικά πιο δύσκολες.
Γιατί να Χρησιμοποιήσετε Bcrypt;
Σε αντίθεση με τα MD5/SHA που είναι γρήγορα (κακό για κωδικούς), το bcrypt είναι σκόπιμα αργό. Αυτό κάνει τις επιθέσεις brute-force μη πρακτικές. Κόστος 10 σημαίνει 2^10 (1.024) επαναλήψεις, που παίρνουν ~100ms για hash - αμελητέο για σύνδεση αλλά καταστροφικό για επιτιθέμενους που δοκιμάζουν δισεκατομμύρια κωδικούς.
Βέλτιστες Πρακτικές Ασφάλειας
Χρησιμοποιήστε κόστος 10-12 για τις περισσότερες εφαρμογές. Το κόστος 10 είναι το τρέχον συνιστώμενο ελάχιστο. Μη χρησιμοποιείτε ποτέ MD5 ή SHA-1 για κωδικούς - είναι σπασμένοι. Μην αποθηκεύετε ποτέ κωδικούς σε απλό κείμενο. Χρησιμοποιείτε πάντα bcrypt, Argon2 ή scrypt για hash κωδικών.