Σχετικά με αυτή τη γεννήτρια
Αυτή η προεπιλογή δημιουργεί μια τιμή υψηλής εντροπίας ασφαλή για URL για υπογραφή HMAC JWT. Είναι ένα μυστικό προγραμματιστή, όχι ένας κωδικός πρόσβασης χρήστη, και δεν φεύγει ποτέ από αυτό το πρόγραμμα περιήγησης.
Αυτή η προεπιλογή ξεκινά με λειτουργία url-safe και δημιουργεί 10 ανεξάρτητα αποτελέσματα κάθε φορά. Κάθε ορατή ρύθμιση παραμένει προσαρμόσιμη και οι παραγόμενες τιμές δεν αποστέλλονται στο PwdGen.
Πότε να το χρησιμοποιήσετε
- Δημιουργία νέου διαπιστευτηρίου για αυτήν τη συγκεκριμένη περίπτωση χρήσης
- Αντικατάσταση ενός επαναχρησιμοποιημένου ή αδύναμου κωδικού πρόσβασης
- Δημιουργία τιμών τοπικά πριν από την ασφαλή αποθήκευση
Μέγεθος αλφαβήτου, εντροπία και υποθέσεις ωμής βίας
Το θεωρητικό ανώτατο όριο εντροπίας υπολογίζεται ως H = L × log2(A), όπου L είναι το παραγόμενο μήκος και A ο αριθμός των επιτρεπόμενων χαρακτήρων.
| Μήκος | Αλφάβητο | Χώρος αναζήτησης | Ανώτατο όριο εντροπίας | Μέσος όρος σε 10 δισεκατομμύρια εικασίες/δευτερόλεπτο |
|---|---|---|---|---|
| 64 | 64 | 6464 | 384.0 bits | 6.24e97 years |
Σημαντικό: αυτές είναι μαθηματικές εκτιμήσεις για ομοιόμορφα τυχαίες τιμές. Απαιτούμενες θέσεις, περιορισμένα πλήθη, επαναλαμβανόμενοι κωδικοί, μοτίβα λεξικών, διαρρεύσαντα διαπιστευτήρια και πραγματικό κόστος κατακερματισμού κωδικών μπορούν να αλλάξουν σημαντικά το αποτέλεσμα. Το νούμερο δεν αποτελεί εγγύηση ασφαλείας.
Οδηγίες ανάπτυξης μυστικού υπογραφής JWT
Για HS256, χρησιμοποιήστε τουλάχιστον 256 bits ομοιόμορφα τυχαίου υλικού κλειδιού. Τα HS384 και HS512 χρησιμοποιούν διαφορετικά μεγέθη εξόδου SHA-2, αλλά η επιλογή μεγαλύτερου αλγορίθμου δεν διορθώνει αδύναμη επαλήθευση, διαρροή κλειδιών ή σφάλματα σύγχυσης αλγορίθμου.
Ισοδύναμη δημιουργία σε τερματικό και Node.js
openssl rand -hex 32 import { randomBytes } from 'node:crypto';
const jwtSecret = randomBytes(32).toString('hex'); Αποθήκευση και εναλλαγή
- Κρατήστε τα κλειδιά υπογραφής εκτός Git, frontend bundles, URL, αναλυτικών και αρχείων καταγραφής εφαρμογών.
- Χρησιμοποιήστε έναν διαχειριστή μυστικών, Vault, KMS ή προστατευμένη μεταβλητή περιβάλλοντος.
- Χρησιμοποιήστε μια ελεγχόμενη στρατηγική kid κατά την εναλλαγή κλειδιών.
- Επιλέξτε RS256 ή ES256 όταν οι επαληθευτές πρέπει να κρατούν μόνο ένα δημόσιο κλειδί.
Τα Hex, Base64 και Base64URL είναι κωδικοποιήσεις—όχι κρυπτογράφηση. Η ασφάλεια προέρχεται από τα τυχαία bytes και το πώς προστατεύεται το κλειδί υπογραφής.
Πώς να χρησιμοποιήσετε το αποτέλεσμα με ασφάλεια
- Ελέγξτε τους τρέχοντες κανόνες κωδικών πρόσβασης του προορισμού
- Χρησιμοποιήστε ένα μοναδικό αποτέλεσμα και ενεργοποιήστε το MFA όπου είναι διαθέσιμο
- Αποθηκεύστε τους κωδικούς ανάκτησης ξεχωριστά από τον κωδικό πρόσβασης
Μέθοδος δημιουργίας και απορρήτου
Η προεπιλογή χρησιμοποιεί το Web Crypto API του προγράμματος περιήγησης για τυχαία επιλογή. Η αναδημιουργία, η αλλαγή ρυθμίσεων, η επιλογή και η αντιγραφή αποτελεσμάτων δεν αποστέλλουν παραγόμενα διαπιστευτήρια στο PwdGen. Ο εκτιμητής χρόνου σπασίματος κωδικών εκτελείται επίσης τοπικά και είναι εκτίμηση, όχι εγγύηση.
Γεννήτρια Μυστικού JWT FAQ
Πόσο μακρύ πρέπει να είναι ένα μυστικό HS256 JWT;
Χρησιμοποιήστε τουλάχιστον 256 bit ομοιόμορφα τυχαίου υλικού κλειδιού για HS256. Αυτή η σελίδα δημιουργεί μια τιμή 64 χαρακτήρων από το αλφάβητο Base64URL, η οποία παρέχει ένα μεγαλύτερο θεωρητικό χώρο αναζήτησης όταν δημιουργείται ομοιόμορφα.
Πρέπει ένα μυστικό JWT να αποθηκεύεται σε μια μεταβλητή περιβάλλοντος;
Μια μεταβλητή περιβάλλοντος είναι ασφαλέστερη από τον πηγαίο κώδικα, αλλά μπορεί να διαρρεύσει μέσω επιθεώρησης διεργασίας, αρχείων καταγραφής ή εργαλείων ανάπτυξης. Ένας διαχειριζόμενος χώρος αποθήκευσης μυστικών ή KMS είναι προτιμότερος για παραγωγικά συστήματα.
Πότε πρέπει να χρησιμοποιώ RS256 ή ES256 αντί για HMAC;
Χρησιμοποιήστε ασύμμετρη υπογραφή όταν οι επαληθευτές δεν πρέπει να κατέχουν το ιδιωτικό κλειδί υπογραφής ή όταν πολλές υπηρεσίες χρειάζονται επαλήθευση δημόσιου κλειδιού. Προστατέψτε το ιδιωτικό κλειδί και εναλλάξτε τα κλειδιά με μια ελεγχόμενη στρατηγική αναγνωριστικού κλειδιού.