Δωρεάν μετατροπέας

Κωδικός πρόσβασης Bcrypt Γεννήτρια

Δημιουργήστε ασφαλή κατακερματισμό κωδικού πρόσβασης bcrypt αμέσως στο πρόγραμμα περιήγησής σας. Επιλέξτε τον συντελεστή κόστους και κατακερματίστε τους κωδικούς πρόσβασης από την πλευρά του πελάτη — εντελώς ιδιωτικοί και δωρεάν.

Σχετικά με αυτό το εργαλείο

Το bcrypt είναι μια συνάρτηση κατακερματισμού κωδικού πρόσβασης που σχεδιάστηκε από τους Niels Provos και David Mazières το 1999, που προέρχεται από τον κρυπτογράφηση Blowfish. Σε αντίθεση με τις συναρτήσεις κατακερματισμού γενικής χρήσης όπως το SHA-256, το bcrypt είναι εσκεμμένα αργό — και ρυθμιζόμενα αργό, μέσω μιας παραμέτρου κόστους — η οποία είναι ακριβώς η ιδιότητα που χρειάζεται ένας κατακερματιστής κωδικού πρόσβασης. Μια ταχύτερη συνάρτηση κατακερματισμού επιτρέπει στους εισβολείς να εξαναγκάζουν περισσότερους υποψηφίους ανά δευτερόλεπτο. ένα πιο αργό τα περιορίζει.

Το bcrypt ενσωματώνει επίσης αυτόματα το αλάτι ανά κωδικό πρόσβασης, εξαλείφοντας μια ολόκληρη κατηγορία επιθέσεων που βασίζονται σε προυπολογισμένους πίνακες ουράνιου τόξου. Η παράμετρος salt και cost αποθηκεύονται ως μέρος της εξόδου bcrypt, επομένως η επαλήθευση χρειάζεται μόνο τον αποθηκευμένο κατακερματισμό και τον υποψήφιο κωδικό πρόσβασης — χωρίς ξεχωριστή διαχείριση αλατιού. Αυτός ο συνδυασμός βραδύτητας, αλατιού και αυτοτελούς μορφής έκανε το bcrypt τον προεπιλεγμένο κατακερματισμό κωδικού πρόσβασης για δύο δεκαετίες και μια ισχυρή επιλογή σήμερα.

Υπάρχουν σύγχρονες εναλλακτικές λύσεις. Το Argon2 κέρδισε το 2015 Password Hashing Competition και προσφέρει σκληρότητα μνήμης εκτός από σκληρότητα χρόνου. Το scrypt προσφέρει παρόμοιες ιδιότητες. Για νέα σχέδια, το Argon2id είναι η προτεινόμενη επιλογή. Το bcrypt παραμένει αποδεκτό και ευρέως διαδεδομένο, ιδιαίτερα σε περιβάλλοντα όπου το Argon2 δεν είναι διαθέσιμο.

Γιατί κατακερματίστε τους κωδικούς πρόσβασης με το bcrypt

Η αποθήκευση κωδικών πρόσβασης ως απλού κειμένου είναι κακή πρακτική. Η αποθήκευσή τους με έναν γρήγορο κατακερματισμό όπως το SHA-256 είναι ελάχιστα καλύτερη - οι σύγχρονες GPU υπολογίζουν δισεκατομμύρια κατακερματισμούς SHA-256 ανά δευτερόλεπτο, καθιστώντας τις επιθέσεις ωμής βίας εναντίον οποιουδήποτε κοινού κωδικού πρόσβασης πραγματοποιήσιμες σε ώρες. Η σκόπιμη βραδύτητα του bcrypt αλλάζει τα οικονομικά: στον παράγοντα κόστους 12, ένας εισβολέας ξοδεύει περίπου 250 ms ανά υποψήφιο κωδικό πρόσβασης, καθιστώντας την ωμή βία μη πρακτική για οποιονδήποτε μη τετριμμένο κωδικό πρόσβασης.

Το αυτόματο αλάτι ανά κωδικό πρόσβασης του bcrypt νικάει επίσης τις επιθέσεις rainbow table. Δύο χρήστες με τον ίδιο κωδικό πρόσβασης παράγουν διαφορετικούς κατακερματισμούς bcrypt επειδή τα άλατά τους διαφέρουν. Η παραβίαση της βάσης δεδομένων κωδικών πρόσβασης δεν επιτρέπει σε έναν εισβολέα να αναγνωρίσει γρήγορα κοινούς κωδικούς πρόσβασης ή επισκέψεις σε προυπολογισμένους πίνακες.

Πώς να το χρησιμοποιήσετε

Πληκτρολογήστε έναν κωδικό πρόσβασης, επιλέξτε κόστος, λάβετε τον κατακερματισμό.

  1. Εισαγάγετε τον κωδικό πρόσβασης: Πληκτρολογήστε τον κωδικό πρόσβασης για κατακερματισμό. Το εργαλείο εκτελείται εξ ολοκλήρου στο πρόγραμμα περιήγησής σας. ο κωδικός πρόσβασης δεν μεταδίδεται πουθενά.
  2. Επιλέξτε παράγοντα κόστους: Η προεπιλογή είναι 10, παράγοντας περίπου 100 ms χρόνο κατακερματισμού σε σύγχρονο υλικό. 12 συνιστάται για νέες εφαρμογές (250 ms). Οι υψηλότερες τιμές αυξάνουν την ασφάλεια με το κόστος της πιο αργής επαλήθευσης.
  3. Δημιουργία: Ο κατακερματιστής δημιουργεί ένα τυχαίο αλάτι 16 byte, εκτελεί την παραγωγή κλειδιού bcrypt και παράγει έναν κατακερματισμό σε τυπική μορφή $2b$.
  4. Χρησιμοποιήστε το hash: Αποθηκεύστε το πλήρες αποτέλεσμα ($2b$cost$saltAndHash) στη βάση δεδομένων κωδικών πρόσβασης. Η επαλήθευση χρησιμοποιεί την ίδια βιβλιοθήκη για να συγκρίνει έναν υποψήφιο με τον αποθηκευμένο κατακερματισμό.

Κοινές περιπτώσεις χρήσης

Τεχνικές λεπτομέρειες

Το bcrypt χρησιμοποιεί μια τροποποιημένη φάση ρύθμισης κλειδιού κρυπτογράφησης Blowfish, επαναλαμβανόμενη 2^ φορές κόστους. Ο παράγοντας κόστους είναι λογαριθμικός — το κόστος 12 είναι δύο φορές πιο αργό από το κόστος 11, τέσσερις φορές πιο αργό από το κόστος 10. Αυτή η λογαριθμική κλιμάκωση επιτρέπει στους διαχειριστές να αυξάνουν το κόστος με την πάροδο του χρόνου καθώς βελτιώνεται το υλικό, χωρίς να επανασχεδιάσουν το σύστημα.

Η μορφή εξόδου είναι $version$cost$saltAndHash όπου saltAndHash είναι κωδικοποιημένη με βάση 64 με προσαρμοσμένο αλφάβητο. Η έκδοση είναι συνήθως $2b$ (η σύγχρονη παραλλαγή με διορθωμένο το bug wraparound) ή $2y$ (συγκεκριμένη για PHP, ισοδύναμο). Το αλάτι είναι 16 byte. ο κατακερματισμός είναι 24 byte. μαζί κωδικοποιούν σε 53 χαρακτήρες του custom-base64.

Το μέγιστο μήκος εισόδου είναι 72 byte (όριο μήκους κλειδιού Blowfish). Οι μεγαλύτεροι κωδικοί πρόσβασης περικόπτονται σιωπηλά, κάτι που είναι μια μακροχρόνια ιδιορρυθμία του bcrypt. Η βέλτιστη πρακτική είναι είτε να περιορίσετε το μήκος του κωδικού πρόσβασης στα 72 byte είτε να κάνετε εκ των προτέρων κατακερματισμό με SHA-256 για κανονικοποίηση του μήκους πριν από το bcrypt.

Βέλτιστες Πρακτικές

Συχνές ερωτήσεις

Μπορώ να προσαρμόσω το παραγόμενο αποτέλεσμα;
Ναι. Το εργαλείο παρέχει διάφορες επιλογές προσαρμογής για να προσαρμόσει το αποτέλεσμα στις συγκεκριμένες ανάγκες σας. Προσαρμόστε τις ρυθμίσεις πριν από τη δημιουργία ή αναδημιουργήστε με διαφορετικές επιλογές.
Είναι το περιεχόμενο που δημιουργείται δωρεάν για χρήση;
Ναι. Όλα όσα δημιουργείτε με αυτό το εργαλείο είναι δικά σας για προσωπικούς, εκπαιδευτικούς ή εμπορικούς σκοπούς χωρίς περιορισμούς ή απαιτήσεις απόδοσης.
Αυτό απαιτεί λογαριασμό;
Όχι. Το εργαλείο είναι έτοιμο για χρήση αμέσως χωρίς εγγραφή, χωρίς email και χωρίς εγγραφή. Απλώς ανοίξτε τη σελίδα και ξεκινήστε τη δημιουργία.
Τα δεδομένα εισόδου μου διατηρούνται ιδιωτικά;
Ναι. Όλη η επεξεργασία πραγματοποιείται στο πρόγραμμα περιήγησής σας. Τα δεδομένα εισόδου και τα παραγόμενα αποτελέσματα δεν αποστέλλονται ποτέ σε κανέναν εξωτερικό διακομιστή.
Να προσθέσω το δικό μου αλάτι;
Όχι. Το bcrypt δημιουργεί και αποθηκεύει αυτόματα ένα τυχαίο αλάτι. Η προσθήκη του δικού σας αλατιού είναι περιττή και μπορεί να προκαλέσει διακριτικά σφάλματα. Χρησιμοποιήστε την προεπιλεγμένη παραγωγή αλατιού της βιβλιοθήκης.
Ο κωδικός πρόσβασης αποστέλλεται σε διακομιστή;
Όχι. Ο κατακερματισμός bcrypt συμβαίνει στο πρόγραμμα περιήγησής σας. Ο κωδικός πρόσβασης δεν φεύγει ποτέ από τη συσκευή σας.
Γιατί υπάρχουν παραλλαγές $2a$, $2b$, $2y$;
$2a$ είναι το πρωτότυπο. Το $2b$ διορθώνει ένα σφάλμα περιτύλιξης που ανακαλύφθηκε το 2014. Τα $2b$ είναι ειδικά για την PHP, λειτουργικά ισοδύναμα με $2b$. Τα νέα συστήματα θα πρέπει να παράγουν κατακερματισμούς $2 δις $.
Μπορώ να υποβαθμίσω έναν κατακερματισμό υψηλού κόστους σε χαμηλότερο κόστος;
Όχι. Ο κατακερματισμός περιλαμβάνει το κόστος ως μέρος της παραγωγής και η επαλήθευση απαιτεί το ίδιο κόστος. Για να αλλάξετε το κόστος, κατακερματίστε ξανά την επόμενη επιτυχημένη σύνδεση.