> totp | authenticator | generator <

أنشئ كلمات مرور لمرة واحدة تعتمد على الوقت (TOTP) أو على العدّاد (HOTP) من مفتاح Base32. اختبر إعدادات 2FA، وشخّص اختلاف الرموز مع تطبيق المصادقة، وأنشئ عناوين otpauth:// — كل ذلك محليًا في المتصفح.

------

------

لا تغادر المفاتيح السرية متصفحك أبدًا. ومع ذلك تجنّب لصق مفاتيح إنتاج حقيقية على أجهزة مشتركة.

عنوان OTPAUTH

هل تحتاج إلى رمز QR لتطبيق مصادقة؟ الصق العنوان في مولّد رموز QR

[01]

رموز مباشرة مع عدّ تنازلي

الصق مفتاح Base32 لترى الرمز الحالي والتالي يتجددان في كل مدة، مع شريط تقدّم حتى انتهاء الصلاحية.

[02]

SHA-1 وSHA-256 وSHA-512

اختر 6 أو 7 أو 8 أرقام وأي مدة. يُحسب HMAC عبر Web Crypto API ويطابق متجهات الاختبار في RFC 4226 وRFC 6238.

[03]

منشئ ومستورد عناوين otpauth

أنشئ عناوين otpauth:// لتطبيقات المصادقة أو استورد عنوانًا موجودًا لملء كل الحقول تلقائيًا. لا يُرفع أي شيء.

>> معلومات تقنية

كيف تعمل كلمات المرور لمرة واحدة:

يحسب HOTP (‏RFC 4226) القيمة HMAC(المفتاح، العدّاد) ويقتطع النتيجة إلى 6–8 أرقام. أما TOTP (‏RFC 6238) فهو HOTP يكون فيه العدّاد وقت Unix مقسومًا على المدة (عادةً 30 ثانية)، فيتغير الرمز كل مدة ويتفق الطرفان دون تواصل. وعادةً يُتبادل المفتاح المشترك كنص Base32 أو كرمز QR يحوي عنوان otpauth://.

مثال:

RFC 6238 test vector (SHA-1) secret = GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ time = 59 -> counter = 59 / 30 = 1 code (8 digits) = 94287082

لماذا تستخدم مولّد TOTP هذا:

  • >اختبار المصادقة بخطوتين وتصحيحها أثناء تطوير تسجيل الدخول
  • >معرفة سبب اختلاف الرمز بين تطبيق المصادقة والخادم
  • >إنشاء عناوين otpauth:// بالجهة والخوارزمية والأرقام والمدة الصحيحة
  • >التحقق من الرموز عند أوقات ثابتة عبر حقل وقت Unix

>> الأسئلة الشائعة

س: كيف يعمل TOTP؟

ج: يتشارك تطبيقك والخادم مفتاحًا سريًا. يحسب كل منهما HMAC من المفتاح وخطوة الوقت الحالية (وقت Unix مقسومًا على المدة، 30 ثانية افتراضيًا) ثم يقتطعه إلى رمز من 6 أرقام. إذا تطابقت الساعتان تطابق الرمزان.

س: هل من الآمن إدخال مفتاحي السري هنا؟

ج: يتم الحساب بالكامل في متصفحك باستخدام Web Crypto API ولا يُرسل شيء إلى أي خادم. لكن مفتاح TOTP هو مفتاح حسابك: لا تلصق مفاتيح إنتاج حقيقية على أجهزة مشتركة أو غير موثوقة، واستخدم حسابات تجريبية للتصحيح.

س: لماذا لا يطابق رمزي رمز تطبيق المصادقة؟

ج: الأسباب الشائعة: ساعة غير مضبوطة (يتطلب TOTP وقتًا دقيقًا ضمن بضع ثوانٍ)، أو اختلاف الخوارزمية أو عدد الأرقام أو المدة، أو خطأ في نسخ المفتاح. تأكد من اختيار SHA-1 و6 أرقام و30 ثانية، وهي ما تستخدمه معظم الخدمات.

س: ما الفرق بين TOTP وHOTP؟

ج: يستخدم HOTP عدّادًا لا يزيد إلا عند استخدام رمز، فيبقى الرمز صالحًا حتى يُستهلك. أما TOTP فيشتق العدّاد من الساعة، فتنتهي صلاحية الرموز تلقائيًا في كل مدة. وTOTP أكثر انتشارًا بكثير في المصادقة الثنائية للمستخدمين.

س: ما هو عنوان otpauth://؟

ج: هو النص داخل رمز QR الذي تمسحه عند تفعيل 2FA، مثل otpauth://totp/Example:user@example.com?secret=...&issuer=Example. يحتوي على المفتاح والجهة والحساب، واختياريًا الخوارزمية والأرقام والمدة. الصقه في مربع الاستيراد لاستخراج المفتاح.

س: ما الإعدادات التي تدعمها تطبيقات المصادقة؟

ج: يتجاهل Google Authenticator وكثير من التطبيقات الأخرى معاملات الخوارزمية والأرقام والمدة ويستخدم دائمًا SHA-1 و6 أرقام و30 ثانية. استخدم هذه القيم الافتراضية ما لم تكن متأكدًا من أن التطبيق والخادم يدعمان غيرها.

لغات أخرى