diff --git a/src/core/config/OperationConfig.js b/src/core/config/OperationConfig.js
index 56b6cca1..38dad80b 100755
--- a/src/core/config/OperationConfig.js
+++ b/src/core/config/OperationConfig.js
@@ -3840,7 +3840,7 @@ const OperationConfig = {
"Generate HOTP": {
module: "Default",
description: "The HMAC-based One-Time Password algorithm (HOTP) is an algorithm that computes a one-time password from a shared secret key and an incrementing counter. It has been adopted as Internet Engineering Task Force standard RFC 4226, is the cornerstone of Initiative For Open Authentication (OATH), and is used in a number of two-factor authentication systems.
Enter the secret as the input or leave it blank for a random secret to be generated.",
- inputType: "string",
+ inputType: "byteArray",
outputType: "string",
args: [
{
diff --git a/src/core/operations/OTP.js b/src/core/operations/OTP.js
index 20205053..f7862310 100755
--- a/src/core/operations/OTP.js
+++ b/src/core/operations/OTP.js
@@ -1,6 +1,6 @@
import otp from "otp";
import Base64 from "./Base64.js";
-import Utils from "../Utils.js";
+
/**
* One-Time Password operations.
@@ -25,7 +25,7 @@ const OTP = {
name: args[0],
keySize: args[1],
codeLength: args[2],
- secret: Base64.runTo32(Utils.strToByteArray(input), []),
+ secret: Base64.runTo32(input, []),
epoch: args[3],
timeSlice: args[4]
});
@@ -45,7 +45,7 @@ const OTP = {
name: args[0],
keySize: args[1],
codeLength: args[2],
- secret: Base64.runTo32(Utils.strToByteArray(input), []),
+ secret: Base64.runTo32(input, []),
});
const counter = args[3];
return `URI: ${otpObj.hotpURL}\n\nPassword: ${otpObj.hotp(counter)}`;