ユーザーパスワードの強さをチェックする小さなプログラムを作成しようとしています。ユーザーがパスワードを入力するように求められたら、テキスト入力の代わりに入力をアスタリスクまたはドットで表示します。この入力を隠す方法はありますか?getpass()を使用してユーザーパスワードを入力時に非表示にする方法
私はgetpassを使用して、入力を試行して非表示にしました。
from getpass import getpass
passwd = getpass('Please enter your password')
これは私に次の警告メッセージが得られます。
警告(警告モジュールから): ファイルを "C:\プログラムファイル(x86の)\ Python36-32 \ libに\ getpass.py" 、line 100 return fallback_getpass(プロンプト、ストリーム) GetPassWarning:端末のエコーを制御できません。 警告:パスワード入力がエコー表示されることがあります。 パスワードを入力してください:
パスワードが行に入力されているが、代わりにastrisksを考え出すのには、元の文字を思い付くをthis_is_my_password。
プログラムはパスワードの強度をチェックするので、パスワードをアスタリスクとして保存せずに元の文字として保存する必要があります。
また、これは、ユーザーのパスワードが表示されたときにアクションを実行する方法を組み込むための方法です。私はボタンの使用を検討していましたが、それはPythonの領域です。私は自信がないので、別の方法で特定のキーをプログラムすることができます。
プロジェクト用のSudoコード。
userPass = hidden(input("Please enter your password "))
if showPassword selected:
show the password
else:
move on with the rest of the program
この質問はあなたに答えるかもしれません。https://stackoverflow.com/questions/35805078/how-do-i-convert-a-password-into-asterisks-while-it-is-being-entered/35805111 –
それはそうではありませんエラー、それは警告です。相違点の1つは、警告は有益であるが混乱しないことである。プログラムは警告後に実行を停止しません。あなたが今働いているもののように思えます。それを突きつけ続ける。 –
このプログラムを実行している環境は何ですか?それが何であれ、 'getpass()'が文字エコーを隠すために使用するいくつかの機能が欠けています。 IDEの中からある種のコードを実行している場合は、代わりにコマンドラインから直接実行してみてください。 – jasonharper