WebSphere wsadmin jython-提示输入密码

WebSphere wsadmin jython-提示输入密码,websphere,jython,wsadmin,Websphere,Jython,Wsadmin,我正在寻找一种方法来提示输入密码(即,没有输入回音)。 我在WebSphere的7.0.0.19 wsadmin中使用jython 我已经寻找过了——导入getpass或导入termios似乎是可能的(但我得到的是“没有名为…”的模块”异常) 有没有办法提示输入密码 谢谢。您可以使用以下代码。它基本上使用Java的console()(如果存在)(请注意,console一直存在)或者使用原始输入()和密码屏蔽逻辑 # if console is not available (ex: when in

我正在寻找一种方法来提示输入密码(即,没有输入回音)。 我在WebSphere的7.0.0.19 wsadmin中使用jython

我已经寻找过了——导入getpass或导入termios似乎是可能的(但我得到的是“没有名为…”的模块”异常)

有没有办法提示输入密码


谢谢。

您可以使用以下代码。它基本上使用Java的console()(如果存在)(请注意,console一直存在)或者使用原始输入()和密码屏蔽逻辑

# if console is not available (ex: when invoked from a shell script or another java process)
# we need to fall back to use raw_input, but we should mask the password if we use it
import sys, thread, time, threading
from java.lang import String
def getPass(stream=None):
    console = java.lang.System.console()
    if console is None:
        global p_stopMasking
        if not stream:
            stream = sys.stderr
        try:
            p_stopMasking = 0
            threading.Thread(target=_doMasking,args=(stream,)).start()
            password = raw_input()
            p_stopMasking = 1
        except Exception, e:
            p_stopMasking = 1
            print "Error Occured"
            print e
            exit()
    else:
        password = console.readPassword()
    return String.valueOf(password)

def _doMasking(stream):
    while not p_stopMasking:
        stream.write("\010*")
        #stream.write("\n")
        stream.flush()
        time.sleep(0.01)

def populateCredentials():
    global username
    global password
    print 'Enter username:'
    username = raw_input();
    print 'Enter password:'
    password = getPass(sys.stdout);

# start main
print 'start program...'
p_stopMasking= 1
username     = None
password     = None
populateCredentials()
print 'username is : ' + username
print 'password is  : ' + password

以下几点对我也很有用:

raw_input("")
myPass = raw_input("Please enter a password: ")

这并不完美,因为它没有屏蔽密码,但确实有效。出于某种原因,如果不指定第一个“raw_input”调用,那么脚本将不会阻止第二个调用

我的回答有用吗?你对此有任何疑问吗?即使你不再需要这个问题,你仍然需要检查所提供的答案,如果你觉得它回答了你的问题,就接受它。请这样做。