请问如何用VB编密码输入程序?

请问如何用VB编密码输入程序?,第1张

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

由于网上需输密码的情况越来越多,以及木马等窃取密码的情况时有发生,我想到用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

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12037087.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存