0

מחולל ומאמת HMAC

צור ואמת קודי אימות של הודעות HMAC עם SHA-256, SHA-384, SHA-512 או SHA-1 באמצעות מפתח סודי, כולו בדפדפן שלך.

Buy Me a Coffee at ko-fi.com
מעבד... 0%
מייבא מפתח
מחשוב HMAC
בוצע

תוצאה

HMAC (קוד Hash-based Message Authentication) הוא מבנה קריפטוגרפי בעל מפתח המשלב מפתח סודי עם הודעה באמצעות פונקציית Hash כגון SHA-256. בניגוד ל-hash רגיל, שכל אחד יכול לחשב מחדש מההודעה בלבד, HMAC יכול להיות משוחזר רק על ידי מישהו שמחזיק באותו מפתח סודי - זה מה שהופך אותו לקוד אימות ולא רק לסכום בדיקה.

זהו ההבדל המהותי מתקציר רגיל: כלי ה-Hash Generator שלנו מחשב גיבובים ללא מפתח כמו MD5 או SHA-256, שהם מצוינים לזיהוי שחיתות מקרית אך לא מוכיחים דבר לגבי מי שיצר את הנתונים, מכיוון שכל אחד יכול ליצור את אותו ה-hash. HMAC מוכיח גם שלמות (ההודעה לא השתנתה) וגם מקוריות (החותם ידע את הסוד המשותף), וזו הסיבה ש-HMAC הוא אבן הבניין הסטנדרטית מאחורי חתימת בקשות API, אלגוריתמי HS256/HS384/HS512 של JWT ואימות רשומות TLS.

מקרה השימוש הנפוץ ביותר בעולם האמיתי הוא אימות חתימות webhook. שירותים כמו Stripe, GitHub ו-Shopify חותמים על כל מטען אינטרנט עם HMAC-SHA256 באמצעות סוד שאתה מגדיר, ושולחים את החתימה המתקבלת בכותרת בקשה. השרת שלך צפוי לחשב מחדש את ה-HMAC על פני המטען הגולמי עם אותו סוד ולהשוות אותו מול ערך הכותרת - אם הם תואמים, אתה יודע שהבקשה באמת הגיעה מהשירות הזה ולא טופלה במעבר. מצב האימות של הכלי הזה משחזר בדיוק את הבדיקה הזו: הדבק את המטען, הסוד המשותף והחתימה שהתקבלה, וקבל התאמה מיידית או אי התאמה.

הכל פועל באופן מקומי דרך ה-Web Crypto API המקורי של הדפדפן (crypto.subtle.importKey ו-crypto.subtle.sign), כך שהמפתח הסודי, גוף ההודעה והחתימה המתקבלת לעולם לא עוזבים את המחשב שלך - שום דבר לא מועלה לשום שרת, מה שחשוב שכן סודות HMAC הם בדיוק סוג הערך שאסור לך להדביק בכלי מקוון אקראי שיכול להתחבר אליו.