Python-Based Crossplatform CLI TOTP 2FA Authenticator with AES-256 encryption for better security.
The Time-based One-time Password algorithm (TOTP) is an extension of the HMAC-based One-time Password algorithm (HOTP) generating a one-time password by instead taking uniqueness from the current time. It has been adopted as Internet Engineering Task Force standard RFC 6238, is the cornerstone of Initiative For Open Authentication (OATH), and is used in a number of two-factor authentication systems. So it's default Password algorithm, which is used in many variations of 2FA authenticators, such as Google Authenticator, andOTP, Authy, etc.
Two-factor authentication (also known as 2FA) is a type, or subset, of multi-factor authentication. It is a method of confirming users' claimed identities by using a combination of two different factors:
- something they know
- something they have
- something they are.
A good example of two-factor authentication is the withdrawing of money from an ATM; only the correct combination of a bank card (something the user possesses) and a PIN (something the user knows) allows the transaction to be carried out.
Two other examples are to supplement a user-controlled password with a one-time password (OTP) or code generated or received by a device (e.g. a security token or smartphone) that only the user possesses.
Wikipedia - Multi-Factor Authentication
- Simple CLI Interface.
- Simple Installation.
- Simple in use.
- Configuration file AES-256 Encryption.
- PIN Code
- Autoupdating code in a bottom toolbar of a terminal
git clone https://github.com/dimankiev/authenticator
cd authenticator
pip3 install -r requirements.txt
python3 authenticator.py
- Start the script
- Set up your new PIN code
- When step 1 and 2 done - type
help
in opened CLI - Use command
add service_name
, then enter special 2FA key that was provided by your service on which you want to set up 2FA. (service_name example: google, github, etc.) - Use command
list
to see added apps - Use command
get service_name
to start receiving 2FA codes. - Use command
export service_name
to export 2FA Authenticator key. - Use command
remove service_name
to remove app from the authenticator - Use command
exit
or keys combinationCtrl+C
to close the script
Code written by - dimankiev
All rights reserved. dimankiev © 2019