Skip to content

مولّد رموز TOTP / 2FA

أنشئ رمز TOTP/2FA من مفتاح سري Base32 فورًا — 100% داخل متصفحك، ومفتاحك السري لا يغادر جهازك أبدًا. إعداد QR + التحقق من الرمز. مجاني وبلا تسجيل.

بدون تتبّع يعمل في المتصفّح مجاني
يُحسَب محليًا في متصفحك — مفتاحك السري لا يغادر جهازك أبدًا.
خيارات متقدمة
الرمز الحالي
------
الرمز التالي: ------
يتّبع سلوك RFC 6238 / RFC 4226 مع التحقق من المخرجات مقابل متجهات الاختبار المنشورة وتطبيق مصادقة مستقل — فريق Go Tools للأمان · Jun 12, 2026

ما هو مولّد رموز TOTP / 2FA؟

يحوّل مولّد TOTP مفتاحًا سريًا مشتركًا إلى الرمز الدوّار لمرة واحدة الذي يشغّل المصادقة الثنائية. TOTP — كلمة مرور لمرة واحدة قائمة على الوقت، مُعرَّفة في RFC 6238 — يأخذ مفتاحًا سريًا Base32 والوقت الحالي، ويقسم الوقت إلى خطوات ثابتة (30 ثانية افتراضيًا)، ويشغّل HMAC على عدّاد الخطوات لاشتقاق رمز رقمي قصير. ولأن كلًا من تطبيق المصادقة لديك والخادم يحملان المفتاح السري نفسه ويقرآن الساعة نفسها، فإنهما يحسبان الرمز نفسه دون تبادله عبر الشبكة أبدًا. هذا هو جوهر 2FA: حتى لو تسربت كلمة مرورك، يظل المهاجم بحاجة إلى الرمز الذي لا ينتجه إلا مفتاحك السري الآن.

"The TOTP algorithm is a time-based variant of the HOTP algorithm... TOTP = HOTP(K, T), where T is an integer representing the number of time steps between the initial counter time T0 and the current Unix time." — RFC 6238, Section 4

تؤدي هذه الأداة ثلاث مهام على صفحة واحدة. فهي تولّد رمزًا حيًا من أي مفتاح سري Base32 مع عدّ تنازلي ومعاينة للرمز التالي؛ وتُعِدّ مفتاحًا سريًا جديدًا تمامًا، فتبني رابط otpauth:// ورمز QR الذي تمسحه إلى تطبيق مصادقة؛ وتتحقّق من رمز مقابل مفتاح سري مع تسامح قدره ±خطوة زمنية واحدة، بما يطابق كيف تقبل الخوادم الحقيقية رمزًا تجدّد للتو. كل ذلك يعمل عبر واجهة Web Crypto API الأصلية في المتصفح دون أي اعتماديات ودون أي طلبات شبكية.

يلجأ المطوّرون إلى مولّد TOTP باستمرار: لإعادة إنتاج الرمز الدقيق الذي يعرضه تطبيق المستخدم أثناء تصحيح تسجيل دخول 2FA، أو لتوليد مفتاح سري ورمز QR لحساب جديد، أو لتأكيد أن نافذة التحقق على الخادم تطابق ما يختبره المستخدمون، أو لبناء بيانات اختبار حتمية لاختبارات شاملة لتدفق ثنائي العامل. ولأن المفتاح السري مفتاح طويل الأمد — فأي شخص يملكه يمكنه توليد كل رمز مستقبلي — فيجب حمايته كأنه كلمة مرور. اقرن هذه الأداة بـ مولّد كلمات المرور العشوائية لكلمات المرور القوية ورموز الاسترداد التي ترافق 2FA، وبـ مولّد رمز QR عندما تحتاج صورة تسجيل مستقلة. ولتوقيع رموز JSON Web Tokens التي كثيرًا ما تركب فوق جلسة موثّقة، راجع مُرمِّز JWT.

// Generate a TOTP code in the browser with the Web Crypto API
// (SHA-1, 6 digits, 30s period — RFC 6238 defaults)
async function generateTotp(base32Secret, time = Date.now()) {
  // Decode the Base32 secret to raw bytes (A-Z, 2-7)
  const alpha = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';
  let bits = '';
  for (const c of base32Secret.replace(/=+$/, '').toUpperCase())
    bits += alpha.indexOf(c).toString(2).padStart(5, '0');
  const bytes = new Uint8Array(
    bits.match(/.{8}/g).map((b) => parseInt(b, 2)));

  // Counter = number of 30s steps since the Unix epoch (8-byte big-endian)
  const counter = Math.floor(time / 1000 / 30);
  const msg = new Uint8Array(8);
  let c = counter;
  for (let i = 7; i >= 0; i--) { msg[i] = c & 0xff; c = Math.floor(c / 256); }

  const key = await crypto.subtle.importKey(
    'raw', bytes, { name: 'HMAC', hash: 'SHA-1' }, false, ['sign']);
  const hmac = new Uint8Array(await crypto.subtle.sign('HMAC', key, msg));

  // Dynamic truncation (RFC 4226) -> 6-digit code
  const off = hmac[hmac.length - 1] & 0x0f;
  const bin = ((hmac[off] & 0x7f) << 24) | (hmac[off + 1] << 16) |
              (hmac[off + 2] << 8) | hmac[off + 3];
  return (bin % 1_000_000).toString().padStart(6, '0');
}

const code = await generateTotp('JBSWY3DPEHPK3PXP');
// -> a 6-digit code that rotates every 30 seconds

الميزات الرئيسية

رمز حيّ مع عدّ تنازلي

الصق مفتاحًا سريًا Base32 فيظهر رمز TOTP الحالي فورًا مع حلقة عدّ تنازلي مدتها 30 ثانية ومعاينة للرمز التالي — دون زر توليد ودون انتظار.

إعداد المفتاح السري ورمز QR

ولّد مفتاحًا سريًا Base32 عشوائيًا، ثم احصل على رابط otpauth:// ورمز QR لمسحه مباشرةً في Google Authenticator أو Authy أو 1Password.

أداة تحقق مدمجة للرموز

افحص رمزًا مقابل مفتاح سري بالتسامح نفسه ±خطوة زمنية واحدة الذي تستخدمه الخوادم الحقيقية، حتى يبقى الرمز الذي تجدّد للتو صالحًا.

خوارزمية وأرقام قابلة للتهيئة

بدّل بين SHA-1 وSHA-256 وSHA-512، واختر 6 أو 8 أرقام، واضبط فترة 30 أو 60 ثانية لتطابق متطلبات أي مزوّد.

المفتاح السري لا يغادر متصفحك

يُحسَب كل رمز محليًا عبر واجهة Web Crypto API الأصلية. لا يُرفع أي شيء أو يُسجَّل أو يُخزَّن — بشكل يمكن التحقق منه، حتى دون اتصال.

بلا أي اعتماديات

مبني فقط على واجهة Web Crypto API في المتصفح — بلا مكتبات خارجية ولا قياس عن بُعد ولا أي طلبات شبكية على الإطلاق.

أمثلة على مولّد TOTP

رمز TOTP قياسي من 6 أرقام (SHA-1، 30 ثانية)

secret: JBSWY3DPEHPK3PXP
algorithm: SHA-1
digits: 6
period: 30s
Code: 282760  ·  expires in 30s

المفتاح السري الاختباري الأساسي في RFC 6238 بالإعدادات الافتراضية التي يستخدمها كل تطبيق رئيسي — SHA-1 و6 أرقام وفترة مدتها 30 ثانية. الرمز قائم على الوقت، لذا تعتمد القيمة الدقيقة على الوقت الحالي؛ تعرض الأداة عدًّا تنازليًا حيًّا والرمز التالي.

رمز TOTP مؤسسي من 8 أرقام (SHA-256)

secret: JBSWY3DPEHPK3PXP
algorithm: SHA-256
digits: 8
period: 30s
Code: 31094217  ·  expires in 30s

تُصدر بعض الأنظمة المؤسسية وعالية الأمان رموزًا من 8 أرقام موقّعة بـ SHA-256 بدلًا من الإعداد الافتراضي SHA-1. طابِق الخوارزمية وعدد الأرقام والفترة تمامًا مع ما يتوقعه خادمك، وإلا فلن يُقبَل الرمز المُنشأ.

رابط إعداد otpauth:// لتطبيقات المصادقة

issuer: Acme
account: alice@example.com
secret: JBSWY3DPEHPK3PXP
otpauth://totp/Acme:alice@example.com?secret=JBSWY3DPEHPK3PXP&issuer=Acme&algorithm=SHA1&digits=6&period=30

تبني الأداة رابط otpauth:// قياسيًا وتعرضه كرمز QR. امسحه بـ Google Authenticator أو Authy أو 1Password — أو الصق الرابط مباشرةً — لتسجيل المفتاح السري على جهازك.

كيفية استخدام مولّد TOTP

  1. 1

    الصق مفتاحًا سريًا Base32

    في تبويب التوليد، الصق مفتاحك السري Base32 (مثل JBSWY3DPEHPK3PXP). يظهر رمز TOTP الحالي فورًا مع عدّ تنازلي مدته 30 ثانية — دون زر توليد.

  2. 2

    اضبط الخيارات المتقدمة (اختياري)

    افتح الخيارات المتقدمة لتغيير الخوارزمية (SHA-1/256/512) أو عدد الأرقام (6 أو 8) أو الفترة (30 أو 60 ثانية) لتطابق ما أصدره مزوّدك.

  3. 3

    الإعداد أو التحقق

    استخدم تبويب الإعداد لتوليد مفتاح سري ورمز QR لتطبيق مصادقة، أو تبويب التحقق لفحص رمز مقابل مفتاح سري مع تسامح قدره ±خطوة زمنية واحدة.

الأخطاء الشائعة

عدم تطابق الخوارزمية أو الأرقام

مفتاح سري صدر لـ SHA-256 أو 8 أرقام ينتج رمزًا مختلفًا تمامًا تحت الإعدادات الافتراضية SHA-1 / 6 أرقام. طابِق معطيات المزوّد تمامًا.

✗ خطأ
secret + SHA-1/6 digits  // but server expects SHA-256/8
✓ صحيح
algorithm: SHA-256, digits: 8  // match the otpauth:// URI

انحراف الساعة

إذا انحرفت ساعة الجهاز بأكثر من خطوة زمنية واحدة، فلن يُقبَل الرمز. زامِن ساعة النظام قبل مقارنة الرموز.

✗ خطأ
system clock 90s fast  // code is two steps ahead
✓ صحيح
enable NTP / automatic time  // code aligns with server

مفتاح سري Base32 غير صالح

يستخدم Base32 الأحرف A–Z والأرقام 2–7 فقط. المسافات من مفتاح مطبوع مقبولة، لكن 0 أو 1 أو 8 ليست Base32 صالحة وستفشل في فك الترميز.

✗ خطأ
secret: "JBSW 0NE8"  // contains 0 and 8
✓ صحيح
secret: "JBSWY3DPEHPK3PXP"  // valid Base32

حالات الاستخدام الشائعة

تصحيح تدفق تسجيل دخول 2FA
أعِد إنتاج الرمز الدقيق الذي يعرضه تطبيق المصادقة لدى المستخدم، لتتمكن من تتبّع سبب رفض تسجيل دخول ثنائي العامل.
تسجيل حساب جديد
ولّد مفتاحًا سريًا Base32 جديدًا ورمز QR، ثم امسحه في Google Authenticator أو Authy أو 1Password لإعداد 2FA.
التحقق من نافذة خادمك
تحقّق من الرموز مقابل مفتاح سري لتأكيد أن خادمك الخلفي يقبل رمزًا تجدّد للتو ويرفض رمزًا منتهي الصلاحية.
بناء بيانات اختبار شاملة
احسب رموز TOTP حتمية من مفتاح سري معروف لقيادة اختبارات آلية لتدفق مصادقة ثنائي العامل.
مطابقة الإعدادات المؤسسية
أعِد إنتاج رموز من 8 أرقام أو SHA-256 عندما يخرج مزوّد عن الإعدادات الافتراضية SHA-1 / 6 أرقام، لتصحيح عدم تطابق.
استعادة الوصول بسرعة
ولّد الرمز الحالي من مفتاح سري محفوظ احتياطيًا عندما يكون هاتفك غير متاح — باستخدام نسخة مؤقتة من المفتاح السري.

تفاصيل تقنية

متوافق مع RFC 6238 / RFC 4226
ينفّذ TOTP وفق RFC 6238 فوق خوارزمية الاقتطاع الديناميكي HOTP من RFC 4226، مع SHA-1 وSHA-256 وSHA-512 قابلة للاختيار.
HMAC أصلي عبر Web Crypto
تُشتق الرموز عبر HMAC الخاص بـ crypto.subtle على عدّاد الخطوات الزمنية ذي الترتيب الكبير. يجري فك ترميز Base32 والاقتطاع بالكامل داخل المتصفح.
روابط otpauth:// قياسية، بلا اعتماديات
تتبع روابط الإعداد صيغة Key Uri Format (otpauth://totp) مع معطيات المُصدِر والخوارزمية والأرقام والفترة. بلا مكتبات خارجية وبلا طلبات شبكية.

أفضل الممارسات

عامِل المفتاح السري كأنه كلمة مرور
أي شخص يملك المفتاح السري Base32 يمكنه توليد كل رمز مستقبلي. خزّنه في مدير أسرار، ولا تضعه أبدًا في التحكم بالمصدر، وفضّل المفاتيح الاختبارية هنا.
أبقِ الساعات متزامنة
يعتمد TOTP على وقت دقيق. فعّل مزامنة الوقت عبر الشبكة على الخوادم والأجهزة حتى تتوافق الرموز ضمن نافذة التحقق.
التزم بالإعدادات الافتراضية ما لم تكن مطلوبة
SHA-1 و6 أرقام وفترة 30 ثانية تعظّم توافق التطبيقات. لا تبدّل إلى 8 أرقام أو SHA-256/512 إلا عندما يفرض مزوّدك ذلك.

الأسئلة الشائعة حول مولّد TOTP / 2FA

هل استخدام مولّد TOTP / 2FA عبر الإنترنت آمن؟
مع هذه الأداة، نعم — والسبب أن لا شيء يغادر متصفحك على الإطلاق. المفتاح السري Base32 الذي تكتبه، ورابط otpauth://، والرمز المُنشأ، كلها تُحسَب محليًا عبر واجهة Web Crypto API الأصلية. لا توجد أي طلبات شبكية ولا تسجيل ولا تخزين ولا تحليلات مرتبطة بمدخلاتك — ويمكنك التحقق من ذلك بقطع الاتصال بالإنترنت ومراقبة استمرار عمل الأداة. هذا عكس مولّد مشبوه يرسل (POST) مفتاحك السري إلى خادم، حيث يمكن للمشغّل توليد رموزك إلى الأبد. مفتاح TOTP السري هو مفتاح مشترك طويل الأمد، لذا تظل أأمن عادة تفضيل المفاتيح السرية المؤقتة أو الاختبارية عندما تريد التجربة فقط.
ما هو TOTP وما هو المفتاح السري Base32؟
TOTP (كلمة مرور لمرة واحدة قائمة على الوقت، مُعرَّفة في RFC 6238) هي الخوارزمية وراء الرموز الدوّارة المكوّنة من 6 أرقام في تطبيقات المصادقة. تجمع مفتاحًا سريًا مشتركًا مع الوقت الحالي، مقسومًا إلى خطوات ثابتة (عادة 30 ثانية)، عبر HMAC لإنتاج رمز قصير يمكن لجهازك وللخادم حسابه بشكل مستقل. المفتاح السري هو المفتاح المشترك، ويُكتب دائمًا تقريبًا بترميز Base32 — الأحرف الكبيرة A–Z والأرقام 2–7 — لأن تلك الأبجدية غير حساسة لحالة الأحرف ويسهل كتابتها أو ترميزها في رمز QR. السلسلة JBSWY3DPEHPK3PXP هي المفتاح السري الاختباري الشهير في RFC.
لماذا يختلف الرمز المُنشأ عن تطبيق المصادقة في هاتفي؟
يجب أن تتطابق أربعة أشياء حتى يتفق رمزا TOTP. أولًا، الساعة: يعتمد TOTP على الوقت الحالي، فإذا انحرفت ساعة حاسوبك أو هاتفك بأكثر من خطوة واحدة، تتباعد الرموز — زامِن ساعة نظامك وحاول مجددًا. ثانيًا، الخوارزمية: تستخدم هذه الأداة SHA-1 افتراضيًا (وهو ما تستخدمه معظم التطبيقات)، لكن إذا صدر مفتاحك السري لـ SHA-256 أو SHA-512 فيجب أن تختاره هنا أيضًا. ثالثًا، الأرقام والفترة: 6 مقابل 8 أرقام، أو نافذة 30 ثانية مقابل 60 ثانية، تنتج رموزًا مختلفة تمامًا. رابعًا، المفتاح السري نفسه — حرف Base32 واحد مكتوب خطأً يغيّر كل رمز. اضبط الأربعة جميعًا وستتطابق الرموز.
ما الفرق بين TOTP وHOTP؟
كلاهما ينحدر من عائلة كلمات المرور لمرة واحدة القائمة على HMAC نفسها، لكنهما يختلفان فيما يقود الرمز. HOTP (RFC 4226) قائم على عدّاد: كل رمز مرتبط بعدّاد تصاعدي، فيبقى الرمز صالحًا حتى يُستخدَم ويتقدّم العدّاد. TOTP (RFC 6238) قائم على الوقت: يستبدل العدّاد بالوقت الحالي مقسومًا إلى خطوات ثابتة، فتتجدد الرموز تلقائيًا كل 30 ثانية. TOTP في الواقع مجرد HOTP مع ضبط العدّاد على عدد الخطوات الزمنية منذ بداية حقبة Unix. تنشئ هذه الأداة TOTP، وهو ما يستخدمه Google Authenticator وAuthy و1Password افتراضيًا.
هل يمكنني استخدام رموز من 8 أرقام أو SHA-256 / SHA-512؟
نعم. افتح الخيارات المتقدمة لتبديل الخوارزمية إلى SHA-256 أو SHA-512، أو ضبط الأرقام على 8، أو تغيير الفترة إلى 60 ثانية. توجد هذه الخيارات لأن بعض الأنظمة المؤسسية والمصرفية تتطلب رموزًا أطول أو تجزئات أقوى. ومع ذلك، فإن الغالبية العظمى من الخدمات — وكل تطبيق مصادقة استهلاكي رئيسي — تستخدم الإعدادات الافتراضية SHA-1 و6 أرقام وفترة 30 ثانية، فاتركها كما هي ما لم تنص تعليمات إعداد مزوّدك على غير ذلك. أيًا كان اختيارك، فإن رابط otpauth:// الذي تنشئه الأداة يسجّل تلك المعطيات حتى يسجّل تطبيقك المفتاح السري بشكل صحيح.
كيف أضيف هذا المفتاح السري إلى Google Authenticator أو Authy أو 1Password؟
انتقل إلى تبويب الإعداد لإنشاء (أو لصق) مفتاح سري، ثم إما امسح رمز QR أو انسخ رابط otpauth://. في Google Authenticator أو Authy، اضغط زر الإضافة واختر مسح رمز QR لتوجيه الكاميرا نحو رمز QR على الشاشة، أو اختر إدخال مفتاح إعداد والصق المفتاح السري Base32 مع اسم الحساب والخوارزمية المطابقين. في 1Password، حرّر عنصر تسجيل دخول وأضف حقل كلمة مرور لمرة واحدة والصق رابط otpauth:// مباشرةً. تحتاج صورة QR مستقلة للتوثيق؟ استخدم مولّد رمز QR، ولأجل المفاتيح السرية العشوائية ورموز الاسترداد المحيطة بها، استخدم مولّد كلمات المرور العشوائية.

أدوات ذات صلة

عرض جميع الأدوات →

مولّد تجزئة bcrypt والتحقق منها

أدوات الأمن

ولّد تجزئات كلمات المرور بـ bcrypt وتحقق منها أونلاين — تكلفة قابلة للضبط، بادئات $2b$/$2a$/$2y$. 100% في متصفحك؛ كلمة مرورك لا تُرفع أبداً.

محلّل JWT — فك ترميز الرموز

أدوات الأمن

فك ترميز رموز JWT أونلاين مع محلّل JWT المجاني. افحص الترويسة والحمولة والتوقيع وانتهاء الصلاحية والخوارزمية والمطالبات فوراً. 100% في المتصفح — رمزك لا يغادر جهازك. بلا تسجيل، بلا تتبّع.

مُنشئ وترميز JWT

أدوات الأمن

مولّد ومرمّز JWT مجاني أونلاين. ابنِ الترويسة والحمولة، ووقّع بـ HS256 أو RS256 أو ES256 فوراً. 100% في المتصفح — سرّك ومفتاحك لا يغادران جهازك.

مولّد مفتاح JWT السري — HS256/384/512

أدوات الأمن

ولّد مفتاحاً سرياً قوياً ومطابقاً للمواصفة لـ HS256/384/512 — 100% في متصفحك، لا يُرسل إلى خادم أبداً. base64url أو base64 أو hex؛ انسخه لملف .env.

مولّد تجزئة MD5 — فوري ومجاني أونلاين

أدوات الأمن

أنشئ تجزئة MD5 وSHA-256 وSHA-1 وSHA-512 فوراً — أداة مجانية تعمل في متصفّحك بدون تتبّع أو رفع بيانات. الصق النص واحصل على التجزئة في ثانية. جرّبها الآن.

مولّد كلمات مرور عشوائية — قوي وآمن ومجاني

أدوات الأمن

ولّد كلمات مرور عشوائية قوية فوراً — أداة مجانية أونلاين تعمل في متصفّحك فقط. خصّص الطول والأحرف، دُفعات حتى 50 مع تحليل الإنتروبيا. بياناتك لا تغادر جهازك.