本文目录一览:
c语言中输入密码时用暗码显示怎么实现
用bios中断实现,调用库函数bioskey(int cmd)需包含头文件bios.h,程序如下:
#includestdio.h
#includebios.h
#define N 6
void main()
{
int i,key;
char a[N];
printf("Input your password:");
for(i=0;iN;i++){
key=bioskey(0);
a[i]=key;
printf("*");
}
printf("\nYour password is:");
for(i=0;iN;i++){
printf("%c",a[i]);
}
getch();
}
绝对是刚写好的,不过要在专门的C编译器上编译,例如TC,Win-TC,不能在VC++6.0上,因为C++的里没有bios.h这个头文件。
如果有疑问再问,希望采纳!
请问,用C语言如何实现密码输入?
c语言中可采用getch()函数来实现输入密码字符时,不显示字符到终端上,这时,只需要显示出一个相应的*就可以达到效果了。参考代码及运行效果如下图:
C语言 异或加密
C语言异或加密实现的原理为,将任意值,与相同值两次异或后,结果与原值相同。所以可以通过将源数据与一个固定的值(秘钥key)异或后,得到密文,然后将密文再次与秘钥异或,得到原文。这样就实现了异或加密及解密。
C语言中的异或是一种按位操作的计算,其计算原理为,操作数对应位上的值相同,则结果位上值为0,否则为1.异或的运算符号为^,于是真值表如下:
0^0=0
0^1=1
1^0=1
1^1=0
这样区分源数据和秘钥值,有如下四种可能:
0^0=0
0^0=0
0^1=1
1^1=0
1^0=1
1^0=1
1^1=0
0^1=1
以上是将一个值,用另一个值连续异或两次后的计算过程,可以看到,最终的值与原始值是相同的。这就是异或加密的基础原理。