输入一位密码时显示*怎么编码实现
时间: 2023-05-11 12:06:37 浏览: 66
你可以使用 Python 的 getpass 模块来实现这个功能,示例代码如下:
```python
import getpass
password = getpass.getpass("请输入密码:")
print("你输入的密码是:", password)
```
运行这段代码后,当你输入密码时,屏幕上不会显示你的输入,而是显示一串 * 号,这样可以保护你的密码不被他人看到。
相关问题
用QT写一个登录对话框,输入密码时显示*
可以使用QLineEdit控件实现输入密码时显示*的效果。具体步骤如下:
1. 在Qt Designer中设计登录对话框界面,包括用户名输入框、密码输入框和登录按钮等控件。
2. 在代码中获取密码输入框对象,并设置其EchoMode为QLineEdit::Password,即输入时显示*。
```cpp
QLineEdit *passwordEdit = ui->passwordEdit;
passwordEdit->setEchoMode(QLineEdit::Password);
```
3. 在登录按钮的槽函数中,获取用户名和密码输入框的内容,并进行登录验证等操作。
完整代码示例:
```cpp
void LoginDialog::on_loginButton_clicked()
{
QString username = ui->usernameEdit->text();
QString password = ui->passwordEdit->text();
// 进行登录验证等操作
accept(); // 关闭对话框
}
```
注意:为了保护用户的隐私,密码输入框中的内容应该使用加密方式存储。
输入时隐藏密码,只显示*
好的,你可以使用 C 语言提供的 `getch()` 函数和 `putchar()` 函数来实现输入密码时隐藏密码的效果,只显示星号 `*`。以下是示例代码:
```c
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define MAX_USERNAME 20
#define MAX_PASSWORD 20
int main()
{
char username[MAX_USERNAME];
char password[MAX_PASSWORD];
char correct_username[] = "admin";
char correct_password[] = "password";
printf("Please enter your username: ");
scanf("%s", username);
printf("Please enter your password: ");
int i = 0;
while (i < MAX_PASSWORD)
{
password[i] = getch();
if (password[i] == '\r') // 如果输入回车键,则结束输入
{
break;
}
putchar('*'); // 显示星号
i++;
}
password[i] = '\0'; // 在密码末尾添加空字符,使其成为字符串
printf("\n"); // 输入完毕后换行
if (strcmp(username, correct_username) == 0 && strcmp(password, correct_password) == 0)
{
printf("Login successful!\n");
}
else
{
printf("Incorrect username or password.\n");
}
return 0;
}
```
在这个示例代码中,我们使用了 `getch()` 函数来读取用户输入的字符,但不会在屏幕上显示出来,然后使用 `putchar()` 函数显示星号 `*`。当用户输入回车键时,输入密码结束。最后,我们在密码末尾添加了一个空字符,将其转换为字符串。
这样,用户输入密码时,就可以隐藏密码,只显示星号 `*`,提高了密码的安全性。