מידע אינו נשלח

מחולל HMAC (חישוב HMAC-SHA256 בדפדפן)

כלי לחישוב HMAC להפקת HMAC SHA256 כאן. מפתחות וקלטים אינם נשלחים ואינם נשמרים.

תומך בקלטים מסוג טקסט/Hex/Base64 ובפלטים מסוג Hex/Base64. מחושב בצורה מאובטחת באמצעות ה-Crypto API הסטנדרטי של הדפדפן.

חישוב מקומי ללא אחסון תמיכה ב-Hex/Base64

קלט ופלט

דף זה מבצע חישובים לחלוטין בתוך הדפדפן ואינו שולח נתונים.

מידע אינו נשלח
פורמט קלט

* 'רצף הבתים' לפי מפרטי ה-API הוא חשוב. אם המפתח הוא בינארי, אנא הזן אותו ב-Hex/Base64.

פורמט קלט
אורך פלט: 32 בתים (SHA-256)
אפשרויות

התוצאות ישתנו אם קודי השורה החדשה שונים עקב מערכת ההפעלה או העתקה-הדבקה.

מכיוון שחתימות API מניחות 'התאמה מדויקת', שמירה כפי שהוא מומלצת בדרך כלל.

שימוש

3 השלבים הבסיסיים ליצירת חתימת HMAC.

  1. 1 הזן מפתח (בחר Hex / Base64 אם מפרט ה-API הוא בינארי)
  2. 2 הזן הודעה (מחרוזת לחתימה / Payload)
  3. 3 בחר פורמט פלט (Hex / Base64) והעתק

HMAC מחושב על 'רצפי בתים', לא על 'מחרוזות תווים'. גם אם הם נראים אותו דבר, התוצאות יהיו שונות אם קידוד התווים, השורות החדשות או הרווחים המיותרים שונים (מניח UTF-8).

דוגמאות (וקטורי בדיקה לאימות)

לחץ על 'טען דוגמה' כדי למלא את שדות הקלט.

דוגמה 1
מפתח (Text/UTF-8)
secret
הודעה (Text/UTF-8)
message
HMAC-SHA256 (Hex)
8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b
HMAC-SHA256 (Base64)
i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=
דוגמה 2
מפתח (Text/UTF-8)
key
הודעה (Text/UTF-8)
The quick brown fox jumps over the lazy dog
HMAC-SHA256 (Hex)
f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
HMAC-SHA256 (Base64)
97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=

טעויות נפוצות

הבדלים בקודי שורה חדשה (LF/CRLF)

התוצאות משתנות אם הטיפול בשורות חדשות משתנה.

הסרת רווחים (Trimming)

מכיוון שחתימות מניחות התאמות מדויקות, הסרת רווחים עלולה לגרום לאי-התאמה.

סימון Base64URL

Base64URL משתמש בדרך כלל ב- +→- , /→_ ומשמיט את ה- =. אנא בדוק את המפרט.

טיפול במפתח (טקסט לעומת בינארי)

דוגמה: הזנת 'deadbeef' כ-'מחרוזת' לעומת הזנתו כ-'רצף בתים 0xDE 0xAD...'.

מידע נוסף

מהו HMAC?

מנגנון ליצירת חתימה ממפתח סודי והודעה. צד שלישי אינו יכול ליצור את אותה תוצאה ללא אותו מפתח.

ההבדל מ-SHA-256

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. אנא בדוק את הטעויות הנפוצות לעיל לפי הסדר.