מחולל HMAC (חישוב HMAC-SHA256 בדפדפן)
כלי לחישוב HMAC להפקת HMAC SHA256 כאן. מפתחות וקלטים אינם נשלחים ואינם נשמרים.
תומך בקלטים מסוג טקסט/Hex/Base64 ובפלטים מסוג Hex/Base64. מחושב בצורה מאובטחת באמצעות ה-Crypto API הסטנדרטי של הדפדפן.
קלט ופלט
דף זה מבצע חישובים לחלוטין בתוך הדפדפן ואינו שולח נתונים.
* 'רצף הבתים' לפי מפרטי ה-API הוא חשוב. אם המפתח הוא בינארי, אנא הזן אותו ב-Hex/Base64.
אפשרויות
התוצאות ישתנו אם קודי השורה החדשה שונים עקב מערכת ההפעלה או העתקה-הדבקה.
מכיוון שחתימות API מניחות 'התאמה מדויקת', שמירה כפי שהוא מומלצת בדרך כלל.
שימוש
3 השלבים הבסיסיים ליצירת חתימת HMAC.
- 1 הזן מפתח (בחר Hex / Base64 אם מפרט ה-API הוא בינארי)
- 2 הזן הודעה (מחרוזת לחתימה / Payload)
- 3 בחר פורמט פלט (Hex / Base64) והעתק
HMAC מחושב על 'רצפי בתים', לא על 'מחרוזות תווים'. גם אם הם נראים אותו דבר, התוצאות יהיו שונות אם קידוד התווים, השורות החדשות או הרווחים המיותרים שונים (מניח UTF-8).
דוגמאות (וקטורי בדיקה לאימות)
לחץ על 'טען דוגמה' כדי למלא את שדות הקלט.
טעויות נפוצות
התוצאות משתנות אם הטיפול בשורות חדשות משתנה.
מכיוון שחתימות מניחות התאמות מדויקות, הסרת רווחים עלולה לגרום לאי-התאמה.
Base64URL משתמש בדרך כלל ב- +→- , /→_ ומשמיט את ה- =. אנא בדוק את המפרט.
דוגמה: הזנת 'deadbeef' כ-'מחרוזת' לעומת הזנתו כ-'רצף בתים 0xDE 0xAD...'.
מידע נוסף
מנגנון ליצירת חתימה ממפתח סודי והודעה. צד שלישי אינו יכול ליצור את אותה תוצאה ללא אותו מפתח.
SHA-256 הוא 'hash', בעוד ש-HMAC הוא 'keyed hash (signature)'.
משמש לחתימות API, אימות Webhook, זיהוי שינויים בבקשות וכו'.
שאלות נפוצות
האם המפתח נשמר?
הוא אינו נשמר. כלי זה מבצע חישוב בתוך הדפדפן ואינו שולח מפתחות או הודעות לשרת. (※כאמצעי זהירות, אנא אפס לאחר הזנה במחשב משותף)
Base64 או Hex?
שניהם בשימוש. ניתן לבחור את פורמט הפלט (Hex / Base64 / Base64URL). אנא בחר בהתאם למפרטי ה-API.
קידוד תווים?
מניח UTF-8. קלט טקסט מומר לבתים כ-UTF-8 לצורך החישוב. השתמש בקלט Hex / Base64 לטיפול בנתונים בינאריים.
ההבדל בין HMAC ל-hash SHA-256?
SHA-256 הוא 'hash', ו-HMAC הוא 'keyed hash (signature)'. לא ניתן להפיק את אותה תוצאה אלא אם המפתחות תואמים.
הפלט אינו תואם
הסיבות הנפוצות הן (1) טיפול במפתח (טקסט לעומת בינארי), (2) שורות חדשות, (3) רווחים, (4) Base64URL. אנא בדוק את הטעויות הנפוצות לעיל לפי הסדר.