Lua中的密码输入功能
如何在Lua中进行CLI密码屏蔽?例如,当我写密码时,它会变成星号或根本不显示任何内容?我需要独立于平台的解决方案,因为我的脚本将在 Java 应用程序中使用。
How to make CLI password masking in Lua? E.g. when I write password it changes into asterisk or nothing is shown at all? I need platform-independent solution as my script will be used in Java application.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在简单的 Lua 中,答案很简单:你不能。
由于 Lua 是用 ANSI C 编写的,因此如果不按 Enter 键则无法从命令行获取字符。但是,您可以使用与 luaposix 附带的curses.lua 等库的绑定。
或者,如果您假设您将拥有 ANSI VT,则可以采用如下 hack:
有关 ANSI 终端控制的更多信息
但是,如果它将用于 Java 应用程序,为什么不使用 Java 作为密码提示呢?我想他们对 cli 的支持和控制会更好并且是跨平台的......
In plain Lua, the answer is simple: you can't.
Since Lua is written in ANSI C you can not get characters from the command line without having to press enter. You can however make use of bindings to libraries like curses.lua which comes with luaposix.
Or if you can assume you'll have an ANSI VT, you can resort to a hack like this:
More info about ANSI terminal control
But if it'll be used for a Java application, why not use Java for the password prompt. I guess their support and control of the cli would be better and cross-platform...