问题描述:
由于网上需输密码的情况越来越多,以及木马等窃取密码的情况时有发生,我想到用VB编一个密码输入程序,在需输入密码等隐私资料时,可以通过这个程序输入,避免因键盘输入而造成密码被盗的现象,但因我初学VB,现有一个问题求助,即如何将该程序的焦点移至网页上的密码框内并输入字符,多谢指教.
解析:
输入总是能够被监视到的,我认为你应该做这样的一个程序:
1、生成一个键盘的界面,要随机排放按键的位置(模拟QQ)
2、一个复制按钮
3、一个文本框
4、一个Timer控件
程序执行步骤:
1、启动程序时生成随即键盘
2、用鼠标点击要输入的密码(此时文本框显示密码,要用*号)
3、点击复制按钮,将密码复制,同时启动Timer控件
4、将密码复制到要输入的地方
5、5秒钟后他Timer控件清空复制的内容
可以使用Python中的while循环,要求用户输入用户名和四位数字密码,并且判断四位密码各位相加和是否为27,如果是,则输出用户名和密码,否则要求用户重新输入。以下是一个示例代码:
while True:
username = input("请输入用户名:")
password = input("请输入四位数字密码:")
if len(password) == 4 and password.isdigit() and sum(int(x) for x in password) == 27:
print("用户名:{},密码:{}".format(username, password))
break
else:
print("密码格式错误或各位数字之和不为27,请重新输入。")
这个程序会不断循环,直到用户输入符合要求的用户名和密码,程序才会结束并输出用户名和密码。在程序中,len(password) == 4用于判断输入的密码是否为4位数字,password.isdigit()用于判断输入的密码是否全为数字,sum(int(x) for x in password) == 27用于判断四位密码各位相加和是否为27。如果这些条件都满足,则输出用户名和密码,并且通过break语句结束循环。如果条件不满足,则输出提示信息要求用户重新输入。
#include <stdio.h>#define UC (1U<<1) // upper case
#define LC (1U<<2) // lower case
#define NUM (1U<<3) // 0-9
#define ALL (UC|LC|NUM)
int check(const char pass1[], const char pass2[])
{
const char *p = &pass1[0]
unsigned int flag = 0
if (strlen(pass1) <6 || strlen(pass1) >8)
{
printf("password length is 6 to 8.\n")
return 1
}
if (strcmp(pass1, pass2))
{
printf("the tow passwords are diffrence.\n")
return 2
}
while (*p)
{
if (*p >= 'a' &&*p <= 'z') flag |= LC
else if (*p >= 'A' &&*p <= 'Z') flag |= UC
else if (*p >= '0' &&*p <= '9') flag |= NUM
else
{
printf("in valid charactor: %c.\n", *p)
return 3
}
++p
}
if (flag == ALL) return 0
if ((flag &UC) == 0)
{
printf("lack of uppercase.\n")
}
if ((flag &LC) == 0)
{
printf("lack of lowercase.\n")
}
if ((flag &NUM) == 0)
{
printf("lack of number.\n")
}
return -1
}
int main(int argc, char *argv[])
{
char pass1[100]
char pass2[100]
do {
printf("input password:")
scanf("%s", pass1)
printf("repeat password:")
scanf("%s", pass2)
} while (check(pass1, pass2) != 0)
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)