如何输入密码时在控制台上显示*号
时间: 2024-05-09 15:21:38 浏览: 89
实现Delphi Console(控制台程序)密码的*号显示
5星 · 资源好评率100%
在大多数编程语言中,可以使用以下语句在控制台上显示*号代替输入的密码:
Python:
```
import getpass
password = getpass.getpass(prompt='Enter Password: ')
```
Java:
```java
import java.io.Console;
import java.util.Arrays;
Console console = System.console();
if (console == null) {
System.out.println("No console: not in interactive mode!");
System.exit(0);
}
char[] passwordArray = console.readPassword("Enter Password: ");
String password = new String(passwordArray);
Arrays.fill(passwordArray, ' ');
```
C/C++:
```c++
#include <iostream>
#include <string>
#include <termios.h>
#include <unistd.h>
using namespace std;
string getPassword() {
string password;
struct termios oldSettings, newSettings;
tcgetattr(STDIN_FILENO, &oldSettings);
newSettings = oldSettings;
newSettings.c_lflag &= ~(ECHO);
tcsetattr(STDIN_FILENO, TCSANOW, &newSettings);
getline(cin, password);
tcsetattr(STDIN_FILENO, TCSANOW, &oldSettings);
return password;
}
int main() {
string password = getPassword();
cout << "Password entered: " << password << endl;
return 0;
}
```
以上代码会在控制台上输入密码,并显示*号代替输入的字符。注意,由于密码是敏感信息,不应该在控制台上显示出来,所以需要使用上述方法进行处理。
阅读全文