Πώς να το χρησιμοποιήσετε
- Επιλέξτε πόσα τυχαία bytes πρέπει να περιέχει κάθε token. Τα 32 bytes (256 bits) είναι μια ασφαλής προεπιλογή για μυστικά.
- Επιλέξτε μια κωδικοποίηση που ταιριάζει στο πού θα χρησιμοποιηθεί το token και, προαιρετικά, προσθέστε ένα πρόθεμα όπως «myapp_live_».
- Ορίστε πόσα token χρειάζεστε, έπειτα αντιγράψτε ένα ή χρησιμοποιήστε το «Αντιγραφή όλων». Πατήστε «Δημιουργία ξανά» για ένα νέο σύνολο.
Πώς λειτουργεί
Τα tokens δημιουργούνται από τυχαία bytes που παράγονται από το crypto.getRandomValues, τον κρυπτογραφικά ασφαλή γεννήτορα που είναι ενσωματωμένος στο πρόγραμμα περιήγησης και στο λειτουργικό σας σύστημα. Το Math.random δεν χρησιμοποιείται ποτέ.
Για hex, Base64 και Base64URL, το εργαλείο λαμβάνει ακριβώς τον αριθμό bytes που επιλέγετε και τα κωδικοποιεί, επομένως ένα token 32 bytes έχει πάντα 256 bits εντροπίας: 64 χαρακτήρες hex, 44 χαρακτήρες Base64 (συμπεριλαμβανομένου ενός = padding) ή 43 χαρακτήρες Base64URL. Το Base64URL αντικαθιστά τα + και / με - και _ και αφαιρεί το padding, ώστε να μπορεί να χρησιμοποιηθεί σε URLs, ονόματα αρχείων και κεφαλίδες HTTP χωρίς διαφυγή.
Τα αλφαριθμητικά tokens χρησιμοποιούν μόνο A–Z, a–z και 0–9, αποφεύγοντας χαρακτήρες που ορισμένα συστήματα αντιμετωπίζουν ειδικά. Κάθε χαρακτήρας μεταφέρει περίπου 5,95 bits, οπότε το εργαλείο αντλεί αρκετούς χαρακτήρες ώστε να φτάσει τουλάχιστον τον επιλεγμένο αριθμό bits (43 χαρακτήρες για 256 bits). Οι χαρακτήρες επιλέγονται με rejection sampling ώστε και οι 62 να είναι εξίσου πιθανοί.
Το πρόθεμα προστίθεται ως απλό κείμενο και δεν προσθέτει εντροπία. Προθέματα όπως το “sk_live_” διευκολύνουν την αναγνώριση διαρρευσμένων κλειδιών και τον εντοπισμό τους με σαρωτές μυστικών. Αποθηκεύετε τα μυστικά σε διαχειριστή κωδικών ή σε αποθήκη μυστικών, όχι στον πηγαίο κώδικα.
Παραδείγματα
Ένα μυστικό υπογραφής webhook
32 bytes σε hex δίνουν ένα μυστικό 64 χαρακτήρων με 256 bits εντροπίας, το οποίο μπορείτε να επικολλήσετε στη διαμόρφωση τόσο του αποστολέα όσο και του παραλήπτη για υπογραφές HMAC-SHA-256.
Ένα κλειδί API με αναγνωρίσιμο πρόθεμα
Επιλέξτε 24 bytes, Αλφαριθμητικό και το πρόθεμα “acme_live_”. Κάθε κλειδί έχει τη μορφή acme_live_ ακολουθούμενο από 33 γράμματα και ψηφία, διαθέτει τουλάχιστον 192 bits και είναι εύκολο να εντοπιστεί σε αρχεία καταγραφής ή σε έναν σαρωτή μυστικών.
Ένα token επαναφοράς ασφαλές για URL
16 bytes σε Base64URL δίνουν ένα token 22 χαρακτήρων (128 bits) που μπορεί να μπει απευθείας σε έναν σύνδεσμο όπως /reset?token=… χωρίς percent-encoding.
Συχνές ερωτήσεις
Πόσα bytes πρέπει να έχει ένα μυστικό;
128 bits (16 bytes) αρκούν ώστε η μαντεία να είναι αδύνατη για tokens όπως τα session IDs. Για μυστικά μεγάλης διάρκειας ζωής, όπως τα κλειδιά υπογραφής, τα 256 bits (32 bytes) είναι η κοινή σύσταση και αντιστοιχούν στο μέγεθος εξόδου του SHA-256.
Ποια κωδικοποίηση να επιλέξω;
Η εντροπία είναι η ίδια για δεδομένο αριθμό bytes· μόνο η μορφή κειμένου διαφέρει. Χρησιμοποιήστε δεκαεξαδικό για μέγιστη συμβατότητα, Base64URL για σύντομα token σε URL και κεφαλίδες και αλφαριθμητικό όταν ένα σύστημα απορρίπτει σημεία στίξης.
Αποθηκεύονται ή καταγράφονται τα token;
Όχι. Δημιουργούνται σε αυτή την καρτέλα του προγράμματος περιήγησης και εξαφανίζονται όταν φύγετε από τη σελίδα. Δεν αποστέλλονται σε διακομιστή ούτε περιλαμβάνονται στα αναλυτικά στοιχεία.
Μπορώ να τα χρησιμοποιήσω ως κωδικούς πρόσβασης;
Ναι, είναι αρκετά τυχαία, αλλά συχνά οι ιστότοποι απαιτούν συνδυασμό τύπων χαρακτήρων. Η Γεννήτρια κωδικών πρόσβασης σάς επιτρέπει να ελέγχετε απευθείας αυτούς τους κανόνες.
Απόρρητο
Τα token δημιουργούνται στο πρόγραμμα περιήγησής σας με το crypto.getRandomValues. Δεν μεταφορτώνονται, δεν αποθηκεύονται, δεν καταγράφονται ούτε αποστέλλονται σε υπηρεσίες αναλυτικών στοιχείων· καταγράφεται μόνο ένα ανώνυμο συμβάν ότι χρησιμοποιήθηκε το εργαλείο.