Android™
Android™
TOTP Authenticator: Duplicate Results of Online Tools
See more Encryption Examples
Duplicates the online tool for the Google 2FA Authenticator online tools atChilkat Android™ Downloads
// Important: Don't forget to include the call to System.loadLibrary
// as shown at the bottom of this code sample.
package com.test;
import android.app.Activity;
import com.chilkatsoft.*;
import android.widget.TextView;
import android.os.Bundle;
public class SimpleActivity extends Activity {
private static final String TAG = "Chilkat";
// Called when the activity is first created.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
//
// Note: This example was written on 7-March-2020. If the online tools have since changed, the instructions provided here may no longer be valid.
//
CkCrypt2 crypt = new CkCrypt2();
// ---------------------------------------------------------------------------------------------
// To duplicate the results of the Authenticator Test at https://rootprojects.org/authenticator/
// do the following:
// 1) At the bottom of the screen you will see a URI such as:
//
// otpauth://totp/ACME%20Co:john@example.com?secret=HXDMVJECJJWSRB3HWIZR4IFUGFTMXBOZ&issuer=ACME%20Co&algorithm=SHA1&digits=6&period=30
//
// Use the uppercase secret. For example:
String secretKey = "HXDMVJECJJWSRB3HWIZR4IFUGFTMXBOZ";
// 2) DO NOT cick the "Regenerate" button. The regenerate button will generate a new secret.
//
// 3) Run the following code to generate your 6-digit token. Compare with the token shown in the picture of the iPhone at https://rootprojects.org/authenticator/
// Note: A new token is generated every 30 seconds. You must generate within the same 30 second interval to get the same result.
Log.i(TAG, "Your token is: " + crypt.totp(secretKey,"base32","0","",30,6,-1,"sha1"));
// ---------------------------------------------------------------------------------------------
// To duplicate the results of the Google2FA Playground at https://pragmarx.com/playground/google2fa#/
// do the following:
// 1) Copy the 64-byte secret key:
secretKey = "OR2VQTRVHB2HO2LCGVWXQSCDK5ZHQS2D3THQ6UXO57XIE7ZHOWS6HDPQ622GU747";
// 2) Run the same code:
// (Note: The online tool generates a new result every 30 seconds. You must generate and compare within the same 30-second interval.)
Log.i(TAG, "Your token is: " + crypt.totp(secretKey,"base32","0","",30,6,-1,"sha1"));
}
static {
System.loadLibrary("chilkat");
// Note: If the incorrect library name is passed to System.loadLibrary,
// then you will see the following error message at application startup:
//"The application <your-application-name> has stopped unexpectedly. Please try again."
}
}