מחולל TOTP — קוד אימות חי לדו-שלבי
הדבק סוד TOTP ב-Base32 וצפה בקוד האימות החי בעל 6 הספרות מתחלף כל 30 שניות — לגמרי במצב לא מקוון, בדפדפן.
🔒 מעובד כולו בדפדפן שלך - שום דבר שתזין כאן לא יועלה לעולם.
תוצאה
כלי זה מייצר קודי Time-based One-Time Password (TOTP) אמיתיים ותואמי תקן מסוד Base32 — אותם קודים בני שש ספרות שמתחלפים כל הזמן ומוצגים באפליקציות כמו Google Authenticator או Authy. הדבק את הסוד שקיבלת בעת הגדרת האימות הדו-שלבי — בדרך כלל אותה מחרוזת שמוסתרת מאחורי קוד QR — וצפה בקוד החי סופר לאחור ומתעדכן בכל 30 שניות, בדיוק כמו באפליקציה בטלפון. הכלי נועד לבדיקה ואימות של סודות 2FA שבבעלותך או שבשליטתך: ניפוי שגיאות בתהליך התחברות שאתה בונה, וידוא קוד גיבוי לפני שזורקים קוד QR להקצאה, או בדיקה כפולה שהסוד הוקלד נכון.
מאחורי הקלעים זוהי מימוש אמיתי של RFC 6238 (TOTP) הבנוי על RFC 4226 (HOTP), לא תצוגה קוסמטית של ספירה לאחור. סוד ה-Base32 מפוענח לפי RFC 4648 לבייטים של מפתח גולמי, זמן Unix הנוכחי מחולק במשך צעד הזמן לקבלת מונה נע, ומונה זה מקודד לחיץ big-endian בן 8 בתים. ממשק ה-Web Crypto המקורי של הדפדפן (crypto.subtle) מחשב HMAC על החיץ עם אלגוריתם הגיבוב שבחרת — SHA-1 נותר ברירת המחדל הכמעט אוניברסלית לשם תאימות לאפליקציות אימות קיימות, בעוד SHA-256 ו-SHA-512 מוצעים עבור הגדרות התומכות בגרסאות החזקות יותר. קיצוץ דינמי לפי RFC 4226 שולף אז ארבעה בתים מפלט ה-HMAC לפי היסט שנלקח מהבית האחרון שלו, מסווה את הביט העליון, ומצמצם את התוצאה במודולו 10^6 או 10^8 כדי להפיק את הקוד בן 6 או 8 הספרות — בדיוק אותה אריתמטיקה שאפליקציית האימות בטלפון שלך מריצה פנימית.
כל שלב בתהליך מתרחש באופן מקומי: אין רכיב שרת, אין משואת ניתוח נתונים הנושאת את הסוד שלך, ואין קריאת API חיצונית מכל סוג שהוא. טקסט ה-Base32 שאתה מדביק בשדה מנותח ישירות על ידי JavaScript שרץ בטאב שלך ולעולם לא עוזב אותו. זה הופך את הכלי לדרך בטוחה לבדיקת תקינות של סוד 2FA על מחשב שאתה סומך עליו, אם כי כמו בכל כלי שנוגע בחומר אימות, עדיין עליך להימנע מהדבקת סודות במחשבים משותפים או ציבוריים ולהשתמש בו רק על קודים הקשורים לחשבונות שבבעלותך או שאתה מורשה במפורש לבדוק.
הפקדים לבחירת אלגוריתם, מספר ספרות ומשך צעד זמן קיימים מכיוון שפריסות TOTP בעולם האמיתי אינן אחידות לחלוטין: רוב השירותים לצרכנים משתמשים ב-SHA-1 עם 6 ספרות וצעד של 30 שניות, אך חלק מהכלים הארגוניים והמפתחים מנפיקים סודות SHA-256 או SHA-512, קודים בני 8 ספרות, או משכי צעד לא סטנדרטיים כמו 15 או 60 שניות. התאמת הגדרות אלו למה שמצוין ב-URI הקצאה או בדף הגדרה מאפשרת לך לשחזר בדיוק את הקוד שאפליקציית האימות שלך תציג, דבר שלא יסולא בפז כשאתה מממש שרת אימות TOTP משלך וזקוק לנקודת ייחוס אמינה ולא מקוונת להשוואה.