在lua中隐藏带星号的密码

Kil*_*zor 4 lua

我有办法在lua中提问密码但是用星号隐藏了吗?

我在问一个控制台应用程序

Cha*_*art 5

对于Unix:用于os.execute("stty -echo raw")关闭回显并进入原始模式(逐个字符输入)并os.execute("stty echo cooked")在完成后将其打开并退出原始模式.在原始模式下,您可以使用io.stdin:read(1)并使用星号来回显输入的每个字符(用于io.flush确保字符立即显示).您需要自己处理删除和行​​尾.

对于Windows,情况有点棘手.看看HTML输入类型="密码"的Windows批处理等价物是什么?对于某些方法,其中最好的似乎是VB脚本.

后记

感谢lhf指出你需要原始模式,除了-echo输入和每个输出星号后刷新以获得所需的结果:除非你有两个,否则直到线结束时才会回显星号.

  • 您需要使用`os.execute("stty -echo raw")`以便`io.read(1)`按照预期工作,并且在使用`io.write(**)打印星号后``io.flush()` ")`. (2认同)