otp-io
Version:
🕖 Typed library to work 2fa via Google Authenticator/Time-based TOTP/Hmac-based HOTP
31 lines • 619 B
JavaScript
import {decode,encode}from'./base32.mjs';import {SecretKey}from'./key.mjs';/**
*
*
* @export
* @param {RandomBytes} random
* @param {number} [size=10]
* @return {Promise<SecretKey>}
*/
function generateKey(random, size = 10) {
return new SecretKey(random(size));
}
/**
*
*
* @export
* @param {string} base32text
* @return {SecretKey}
*/
function importKey(base32text) {
return new SecretKey(decode(base32text));
}
/**
*
*
* @export
* @param {SecretKey} key
* @return {string}
*/
function exportKey(key) {
return encode(key.bytes, { pad: false });
}export{exportKey,generateKey,importKey};