Estoy desarrollando un bot a través de Telegram que puedo controlar de forma remota algunos parámetros de mi computadora, como encender / apagar la pantalla, bloquear (pero no desbloquear) la pantalla, montar y desmontar unidades, etc.
Para evitar que alguien más tome el control de mi computadora, el bot comprueba el nombre de usuario del remitente y solo ejecuta los comandos si coinciden con los míos. Sin embargo, me gustaría hacer que el bot sea más seguro, utilizando algún tipo de autenticación antes de ejecutar cada comando. Por supuesto, simplemente podría solicitar una contraseña, pero eso no sería seguro ya que tendría que enviarla en texto sin formato, y básicamente cualquier persona que vea mis mensajes podría tenerla. Así que pensé en algo así como una contraseña de un solo uso que puedo calcular mentalmente. Aquí hay un ejemplo demasiado simple para que lo entiendas mejor: el bot me pide la contraseña y me dice una palabra al azar de una lista de palabras. Entonces reviso la hora actual; si termina con un dígito par, la contraseña será sinónimo de la palabra; mientras que si termina con un dígito impar, la contraseña será la opuesta a esa palabra.
Entonces, si, por ejemplo, el bot me envía "fácil" y es 12.32, respondo "trivial". Si el bot me envía "oscuro" y es 09.47, respondo "brillante". Sé que esto no es bueno en absoluto: es bastante fácil de adivinar, las palabras pueden tener más de un sinónimo, etc. Así que le pregunto si puede sugerirme un algoritmo similar (pero espero que sea mejor), para que pueda Calcular mentalmente contraseñas de un solo uso para autenticarme de forma fácil pero segura con mi bot.
Gracias de antemano.