Esto no tiene sentido.
Hay una diferencia básica interesante entre las contraseñas y TOTP / HOTP.
TOTP es un algoritmo simétrico. El servidor y el cliente comparten la misma información. Comparten la clave secreta OTP, la hora sincronizada y el último contador de tiempo para evitar la repetición.
En contraste, el mecanismo de autenticación de contraseña no comparte información. El usuario conoce la contraseña, pero el servidor no conoce la contraseña. Solo conoce el hash salado y tal vez salpicado de la contraseña. Es decir. El servidor no tiene todos los componentes necesarios para conocer, lo que el usuario sabe, es decir, la contraseña.
Nuevamente, en el caso de TOTP, el servidor tiene toda la información. El usuario no tiene ninguna información adicional. Esto significa que si desea usar TOTP para cifrar algo en el servidor, el servidor también tendrá toda la información para cifrar / descifrar esto. Y esto significa que los datos cifrados y la clave de cifrado (o la información que utiliza para crear la clave de cifrado) se encuentran en el servidor.
La pregunta es, qué amenazas desea mitigar.
La mitigación de la amenaza de las inyecciones de SQL y el robo de la base de datos se puede enfrentar mediante el uso de una clave de cifrado de nivel de aplicación, que no se almacena en la base de datos. En este caso, esto es incluso mejor que crear una clave de cifrado a partir de cualquier material TOTP, que probablemente también esté almacenado en la base de datos, ya que el atacante obtendría los datos cifrados y la información para crear la clave de encriptación cuando robó la base de datos. p>