مولد TOTP
في كل مرة يعرض فيها Google Authenticator أو Authy رمزًا من ستة أرقام يتغير كل 30 ثانية، فهذا هو TOTP: قيمة HMAC تُحسب من مفتاح سري مشترك والوقت الحالي بنظام يونكس، وهو معيار موثق في RFC 6238. يحسب هذا المولد الرموز نفسها من أي مفتاح سري بترميز Base32، وهو مفيد لتصحيح أخطاء تكامل جديد للمصادقة الثنائية (2FA)، أو معرفة سبب رفض خدمة ما لرموزك، أو مراقبة سلوك الخوارزمية مع معلمات مختلفة. استخدمه مع مفاتيح اختبارية فقط: يُحسب الرمز على خادمنا، لذا فإن المفاتيح الحقيقية التي تحمي حساباتك مكانها تطبيق مصادقة على هاتفك، لا أي صفحة ويب.
كيف يعمل مولد TOTP هذا
-
1
الصق مفتاحًا سريًا بترميز Base32
حروف من A إلى Z وأرقام من 2 إلى 7، وهو التنسيق المستخدم داخل رموز QR من نوع otpauth://. المسافات والأحرف الصغيرة مقبولة؛ وأي شيء آخر يظهر كـ Base32 غير صالح.
-
2
اختر خوارزمية التجزئة
تستخدم جميع الخدمات تقريبًا SHA-1؛ لا تنتقل إلى SHA-256 أو SHA-512 إلا إذا اشترطت الخدمة ذلك صراحة.
-
3
حدد عدد الأرقام والفترة
اختر 6 أو 7 أو 8 أرقام، ونافذة زمنية من 30 أو 60 ثانية. التركيبة القياسية هي 6 أرقام كل 30 ثانية.
-
4
اقرأ الرمز الحالي
يتجدد الرمز كل ثانية، ويعرض العد التنازلي عدد الثواني المتبقية للنافذة الحالية.
-
5
قارن عنوان otpauth URI
تعرض الأداة عنوان otpauth:// URI المطابق لمعلماتك، لتقارنه بما يشفّره رمز QR الخاص بإعداد الخدمة.
الخوارزمية بلغة مبسطة
TOTP هو HOTP (كلمة مرور لمرة واحدة مبنية على HMAC، وفق RFC 4226) مع استبدال العداد بالوقت الحالي بنظام يونكس مقسومًا على خطوة الزمن (عادة 30 ثانية):
counter = floor(unix_time / 30)
hash = HMAC-SHA1(secret, counter_as_8_byte_big_endian)
offset = last byte of hash AND 0x0F
truncated = 4 bytes from offset, with the top bit zeroed
code = truncated mod 10^digits
يجري جهازك والخادم الحساب نفسه على المفتاح السري نفسه والساعة نفسها، فيصلان إلى الرمز نفسه دون أن يُرسل الرمز إلى أي مكان. الرمز المكوّن من 6 أرقام ليس سوى قيمة HMAC المقتطعة بعد أخذ باقي القسمة على 10^6. لا سحر في الأمر، مجرد تجزئة.
المعلمات الشائعة
| الخدمة | الخوارزمية | الأرقام | الفترة |
|---|---|---|---|
| معظم المواقع والتطبيقات | SHA-1 | 6 | 30 ثانية |
| GitHub | SHA-1 | 6 | 30 ثانية |
| Cloudflare | SHA-1 | 6 | 30 ثانية |
| حسابات Microsoft | SHA-1 | 6 | 30 ثانية |
| بعض البنوك وشبكات VPN المؤسسية | SHA-256 أو SHA-512 | 8 | 60 ثانية |
إذا رفضت خدمة ما رموزك، فتحقق أولًا من عدد الأرقام والفترة، ثم من الخوارزمية. ولاحظ أيضًا أن بعض تطبيقات المصادقة تتجاهل بصمت المعلمات غير الافتراضية (تاريخيًا عامل Google Authenticator كل شيء على أنه SHA-1 و6 أرقام و30 ثانية)، لذا اختبر دائمًا بالتطبيق نفسه الذي سيستخدمه مستخدموك.
حفظ المفاتيح السرية بأمان
- لا ترسل مفتاح 2FA السري عبر البريد الإلكتروني أو الرسائل أبدًا. فبمجرد وصوله إلى صندوق وارد، يبقى في سجلات المزود ونسخه الاحتياطية إلى أجل غير مسمى.
- سجّل عبر مسح رمز QR. يشفّر رمز QR عنوان
otpauth://totp/...URI يجمع المفتاح السري والخوارزمية وعدد الأرقام والفترة في حزمة واحدة لا لبس فيها. - احتفظ بنسخة احتياطية عند التسجيل. خزّن رموز الاسترداد، أو المفتاح السري نفسه، في مدير كلمات مرور؛ ففقدان الهاتف من دونها يعني حرمانك من الدخول.
- مفتاح سري واحد لكل خدمة. تصدر كل خدمة مفتاحها الخاص عند الإعداد؛ فإذا تسرب أحدها، فأعد تسجيل 2FA هناك ليتوقف المفتاح القديم عن العمل.
انحراف الوقت
لا يعمل TOTP إلا ما دامت الساعتان متوافقتين. تحسب هذه الصفحة الرموز بساعة الخادم، فإذا اختلف الرمز هنا عن تطبيق المصادقة في هاتفك، فأول متهم هو ساعة الجهاز. تقبل معظم أنظمة التحقق انحرافًا بمقدار نافذة واحدة في كل اتجاه (من 30 إلى 60 ثانية)؛ وفيما يتجاوز ذلك، زامن ساعة الجهاز عبر NTP قبل أن تشك في المفتاح.
استخدم هنا مفاتيح اختبارية فقط
تحسب هذه الأداة الرمز على خادمنا: يُرسل المفتاح السري الذي تكتبه عبر HTTPS مع كل تحديث، ويظهر أيضًا في عنوان URL للصفحة إذا تنقلت بين خطوات الأداة. هذا مقبول تمامًا للتطوير والعروض التوضيحية وتصحيح الأخطاء بمفاتيح يمكن التخلص منها. لكنه ليس المكان المناسب للمفتاح الحقيقي الذي يحمي بريدك الإلكتروني أو حسابك البنكي؛ فمكان ذلك المفتاح تطبيق مصادقة مخصص على هاتفك. وإذا سبق أن لصقت مفتاحًا حقيقيًا خارج تطبيق المصادقة، فأعد تسجيل 2FA في تلك الخدمة حتى يُستبدل المفتاح.
الأسئلة الشائعة
تعامل مع هذه الصفحة كأداة للمطورين والاختبار، لا كخزنة. يُحسب الرمز على جانب الخادم، أي أن المفتاح السري ينتقل إلى خادمنا عبر HTTPS وقد يظهر في عنوان URL للصفحة بين الخطوات. استخدم مفاتيح العرض والتطوير بحرية؛ لكن لا تلصق أبدًا المفتاح الحقيقي لحساب يهمك. وإذا فعلت ذلك بالفعل، فأعد تسجيل 2FA في تلك الخدمة لاستبدال المفتاح.
تحقق من المعلمات أولًا: يجب أن تتطابق الخوارزمية وعدد الأرقام والفترة تمامًا مع ما أصدرته الخدمة. ثم تحقق من الساعات: تستخدم هذه الصفحة ساعة الخادم، لذا يشير الاختلاف عادة إلى الجهاز الآخر. وأخيرًا تذكر أن بعض التطبيقات تتجاهل المعلمات غير الافتراضية، والمثال الكلاسيكي هو Google Authenticator.
ترميز Base32 فقط: حروف من A إلى Z وأرقام من 2 إلى 7، مع حشو = اختياري. تُحذف المسافات وتُحوّل الأحرف الصغيرة تلقائيًا. أما المفاتيح الست عشرية أو بايتات خام فيجب تحويلها إلى Base32 أولًا، وإلا أبلغت الأداة عن مفتاح Base32 غير صالح.
ستُحرم من الوصول إلى المصادقة الثنائية لذلك الحساب. استخدم مسار الاسترداد لدى الخدمة (رموز الاسترداد، التحقق من الهوية، الرسائل النصية كخيار بديل). واحرص دائمًا عند الإعداد على حفظ رموز الاسترداد أو رمز QR الأولي في مكان آمن.
نعم. أنشئ مفتاحًا سريًا عشوائيًا على جانب الخادم بطول لا يقل عن 128 بت (يوصي RFC 4226 بـ 160)، واعرضه مرة واحدة فقط كرمز QR، وتحقق من الرموز المُرسلة بحساب HMAC نفسه، مع قبول انحراف نافذة واحدة في كل اتجاه عادة. تتوفر مكتبات ناضجة لكل بيئة: pyotp (بايثون)، وotplib (جافاسكريبت)، وrotp (روبي).
أدوات ذات صلة
مولد JWT
قم بتوليد وثائق التوقيع الرقمية الموقعة (JWT) التي تحتوي على رأس مخصص، ومطالب حمل البيانات، وطريقة توقيع باستخدام HMAC أو RSA، بالإضافة إلى قيود على مدة الصلاحية والجمهور المستهدف، وذلك لأغراض الاختبار.
معرّف التشفير
قم بلصق نص مشفر أو قيمة هاش، وسيقترح المعرّف خوارزميات أو أنظمة ترميز محتملة مثل MD5 وSHA وbcrypt وAES وRSA وBase64 وغيرها.
مولّد MD5
أنشئ قيمة تجزئة MD5 من أي نص أو ملف، بطول 128 بت وبصيغة سداسية عشرية، ويُحسب كل ذلك بالكامل داخل متصفحك.
مولد هاش
أنشئ قيم تجزئة MD5 وSHA-1 وSHA-256 وSHA-384 وSHA-512 وCRC32 من النصوص، مع ملخّص جاهز للنسخ لاستخدامه في فحوص المجموع والمقارنات.
مولّد HMAC
يُولِّد توقيعات HMAC (SHA-256، SHA-384، SHA-512، SHA-1، MD5) من رسالة ومفتاح سري لاستخدامها في مصادقة واجهات برمجة التطبيقات (APIs) والويب هوكز (webhooks).
معرف التشفير
قم بلصق النص المشفر وسيقترح المعرف أنظمة تشفير/ترميز محتملة: Base64، وHex، وثنائي، ومورس، وسيزر أو إبدال، وJWT، والتجزئات الشائعة.
الأداة متاحة بلغات أخرى
- TOTP-Generator [DE]
- TOTPジェネレーター [JA]
- Gerador TOTP [PT]
- TOTP-generator [SV]
- TOTP-generator [NL]
- ตัวสร้าง TOTP [TH]
- Générateur TOTP [FR]
- Generador TOTP [ES]
- Bộ tạo TOTP [VI]
- Generator TOTP [ID]
- TOTP 생성기 [KO]
- Generator TOTP [PL]
- TOTP Generator [EN]
- Generatore TOTP [IT]
- TOTP Üretici [TR]
- TOTP 生成器 [ZH]
- Генератор TOTP [RU]