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