Γεννήτρια HMAC (HMAC-SHA256 στον browser)
Μια σελίδα δημιουργίας HMAC SHA256 χωρίς δίκτυο για γρήγορο υπολογισμό HMAC και επαλήθευση υπογραφών.
Όλα εκτελούνται τοπικά στον browser σας. Τα κλειδιά και τα μηνύματα δεν μεταδίδονται ούτε αποθηκεύονται.
Τρόπος χρήσης (πώς να δημιουργήσετε υπογραφή HMAC)
- Εισαγάγετε το κλειδί. Αν οι προδιαγραφές του API σας παρέχουν δυαδικά bytes κλειδιού, επιλέξτε μορφή εισόδου Hex ή Base64.
- Εισαγάγετε το μήνυμα payload που θέλετε να υπογράψετε.
- Επιλέξτε μορφή εξόδου (Hex / Base64 / Base64URL) και αντιγράψτε το αποτέλεσμα.
Παραδείγματα (test vectors)
Παράδειγμα 1 (σύντομος έλεγχος)
Είσοδος: Κλειδί = secret (UTF-8), Μήνυμα = message (UTF-8)
HMAC-SHA256 (Hex):8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b
HMAC-SHA256 (Base64):i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=
Παράδειγμα 2 (συνηθισμένη φράση)
Είσοδος: Κλειδί = key, Μήνυμα = The quick brown fox jumps over the lazy dog
Hex:f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
Base64:97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=
Συνηθισμένα λάθη
- Οι διαφορές LF και CRLF παράγουν διαφορετικές υπογραφές.
- Η περικοπή κενών στην αρχή/τέλος μπορεί να σπάσει την αντιστοίχιση υπογραφής API.
- Base64URL συχνά σημαίνει μετατροπή + σε -, / σε _, και αφαίρεση του = padding. Ελέγξτε τις προδιαγραφές του API σας.
- Αν ένα κλειδί διανέμεται ως bytes σε μορφή Hex/Base64, η αντιμετώπισή του ως απλό κείμενο θα προκαλέσει αναντιστοιχίες.
Συχνές ερωτήσεις
Αποθηκεύεται το κλειδί μου;
Όχι. Αυτό το εργαλείο υπολογίζει στον browser σας και δεν αποστέλλει είσοδο κλειδιού/μηνύματος σε κανέναν server.
Base64 ή Hex;
Και τα δύο είναι συνηθισμένα. Μπορείτε να επιλέξετε έξοδο Hex / Base64 / Base64URL για να ταιριάζει με τις προδιαγραφές του API σας.
Ποια κωδικοποίηση χαρακτήρων χρησιμοποιείται (UTF-8);
Η είσοδος κειμένου κωδικοποιείται ως UTF-8 πριν από τον υπολογισμό HMAC. Για δυαδικές τιμές, χρησιμοποιήστε είσοδο Hex/Base64.
Ποια είναι η διαφορά μεταξύ HMAC και κατακερματισμού SHA-256;
Το SHA-256 είναι απλός hash. Το HMAC προσθέτει μυστικό κλειδί για αυθεντικοποίηση μηνύματος.
Το αποτέλεσμα δεν ταιριάζει. Τι να ελέγξω;
Ελέγξτε την ερμηνεία του κλειδιού (κείμενο έναντι bytes), τον χειρισμό νέων γραμμών, την περικοπή κενών και τους κανόνες Base64URL.
Συμπλήρωμα
Τι είναι το HMAC;
Το HMAC είναι κωδικός αυθεντικοποίησης μηνύματος με hash και μυστικό κλειδί, που χρησιμοποιεί μυστικό κλειδί και συνάρτηση hash.
Διαφορά από το SHA-256
Το SHA-256 από μόνο του δεν έχει μυστικό κλειδί. Το HMAC-SHA256 απαιτεί κοινό κλειδί και χρησιμοποιείται για υπογραφές.
Τυπικές περιπτώσεις χρήσης
Υπογραφή αιτημάτων API, επαλήθευση webhook και έλεγχοι ακεραιότητας token.