c语言中加密在终端输入对输入内容进行隐藏的案例
时间: 2024-09-19 22:09:33 浏览: 30
在C语言中,可以使用一些简单的文本掩码技术来在终端输入时对用户输入的内容进行“隐藏”。最常用的是使用星号(*)或者其他字符替换敏感字符,比如密码的一部分。这里有一个简单的例子,使用`getch()`函数来逐个读取并显示键盘输入,同时用星号替换每个输入的字符:
```c
#include <stdio.h>
#include <conio.h> // 包含getch()函数
#define PASSWORD_LEN 8 // 指定密码长度
void hide_input(char *password) {
for (int i = 0; i < PASSWORD_LEN; ++i) {
password[i] = '*';
printf("*"); // 显示星号代替真实字符
_getch(); // 使用_getch()等待按键,模拟用户输入
}
}
int main() {
char secret_password[PASSWORD_LEN];
printf("请输入一个8位密码:");
hide_input(secret_password);
return 0;
}
```
在这个示例中,当用户按下每个键时,程序会立即显示一个星号,看起来就像是密码被隐藏了一样。然而,这种方式并不提供真正的安全性,因为明文密码仍然存储在内存中,只是不在屏幕上显示。
阅读全文