إذا كنت بحاجة إلى إنشاء كلمات مرور لمرة واحدة باستخدام خوارزمية Mobile-OTP / mOTP، من سطر الأوامر، دون العبث بهاتفك.
هذه خوارزمية "قياسية" نصبت نفسها بنفسها لكلمات المرور لمرة واحدة. إنها مربكة، ويبدو أنها عفا عليها الزمن تقريبا، ويبدو أنها تستخدم بشكل رئيسي في البلدان الناطقة باللغة الألمانية. لا ترغب في استخدام هذا إلا إذا كنت مجبرًا على التفاعل مع نظام موجود يستخدم مثل هذه الرموز للمصادقة الثنائية.
تطبيقات الجوال التي يبدو أنها تدعمها:
أداة مصادقة Swiss SafeLab OTP لنظام iOS: على iTunes
أداة مصادقة Swiss SafeLab OTP لنظام Android: تنزيل APK
تطبيق Android الذي يدعم هذه الخوارزمية: DroidOTP على متجر Google Play
تم شرح مبدأ الخوارزمية بشكل سيء وتنفيذه بشكل مربك ولكنه بسيط للغاية: لديك سر رمزي (سلسلة ASCII، عادة ما تكون سداسية عشرية أو أبجدية رقمية) وPIN (سلسلة ASCII، عادة ما تكون 4 أرقام)، ويتم تحويل هذا إلى رمز مكون من 6 أرقام باستخدام:
counter = ASCII((UNIX epoch time) / 10s) digest = MD5HEX(counter || secret || pin) code = LEFT(digest, 6 characters)
هذا كل شيء. ¯_(ツ)_/¯
يتطلب بايثون 3.x.
$ ./motp.py SECRET PIN a1b329
بمزيد من اللفظ:
$ ./motp.py -v SECRET PIN Epoch time: 1549323786 Counter: 154932378 a1b329 (current)
جميع الخيارات المتاحة:
$ ./motp.py --help usage: motp.py [-h] [-s SECONDS] [-l LENGTH] [-w WINDOW] [-v] secret pin positional arguments: secret mOTP secret value (often hex or alphanumeric digits) pin mOTP PIN value (usually 4 digits) optional arguments: -h, --help show this help message and exit -s SECONDS, --seconds SECONDS Duration of mOTP codes in seconds (default 30 seconds) -l LENGTH, --length LENGTH Length of mOTP output (default 6 characters) -w WINDOW, --window WINDOW Number of counter values before and after current one to show (for testing time-skew) -v, --verbose
معهد ماساتشوستس للتكنولوجيا