2
如何在Lua中設置CLI密碼屏蔽?例如。當我寫密碼它變成星號或根本沒有顯示?我需要與平臺無關的解決方案,因爲我的腳本將用於Java應用程序。Lua中的密碼輸入功能
如何在Lua中設置CLI密碼屏蔽?例如。當我寫密碼它變成星號或根本沒有顯示?我需要與平臺無關的解決方案,因爲我的腳本將用於Java應用程序。Lua中的密碼輸入功能
在普通的Lua中,答案很簡單:你不能。
由於Lua是用ANSI C編寫的,所以無法從命令行獲取字符而無需按Enter鍵。但是,您可以使用庫的綁定,例如luaposix附帶的curses.lua。
或者,如果你可以假設你有一個ANSI VT,您可以訴諸這樣一個黑客:
io.write("\027[s") -- save cursor position
l=io.read()
io.write('\027[u',('*'):rep(#l),"\n") -- rewind to where we were, and fill with the correct amount of stars
print("pst, I got", l, "but don't tell anyone!")
More info about ANSI terminal control
但如果它會被用於Java應用程序,爲什麼不在密碼提示中使用Java。我猜他們的支持和控制cli會更好,跨平臺...
可能重複[在lua中用星號隱藏密碼](http://stackoverflow.com/questions/5787796/hide-password- with-asterisk-in-lua) – lhf 2012-01-06 01:39:50
你在JVM中運行Lua嗎? – ponzao 2012-01-06 13:16:20