自动生成验证码

include

int main()
{
srand(static_cast(time(NULL)));
string s = "0123456789zxcvbnmasdfghjklqwertyuiopZXCVBNMASDFGHJKLQWERTYUIOP";
cout << "请输入验证码长度:";
int length;
cin >> length;
cout << "最终生成的验证码为:" << endl;
for (int i = 0;i < length;i++)
{
int num = rand() % s.length();
cout << s[num];
}
cout << endl;
system("pause");
return 0;
}

我这个方法比较笨,直接将大小写字母和数字全都放在一个字符串中,利用生成随机数的方式在其中提取随机字符,最终起到生成随机验证码的功能。
以上使用的代码是c++代码,如果要用java,代码如下:
import java.util.Random;
import java.util.Scanner;

public class 各种练习{

public static String generate(int length)
{
	String s="0123456789zxcvbnmasdfghjklqwertyuiopZXCVBNMASDFGHJKLQWERTYUIOP";
	Random ran=new Random();
	StringBuilder res=new StringBuilder();
	for(int i=0;i<length;i++)
	{
		//生成一个从0到length-1的随机数
		int index=ran.nextInt(s.length());
		res.append(s.charAt(index));
	}
	return res.toString();
}

public static void main(String[]args)
{
	Scanner sc=new Scanner(System.in);
	System.out.println("请输入验证码长度:");
	int length=sc.nextInt();
	System.out.println("输出的验证码为:"+generate(length));
	sc.close();
}

}

难点:
1.利用java中自带的生成随机数的头文件Random,直接生成随机数。
2.利用StringBuilder类来进行新的字符串的创建,并在最后用toString函数将结果转换为String形式

相较于c++,java明显更简便,以后还是多尝试使用java吧,当然,c++肯定不会落下

posted @ 2025-09-28 15:49  暗神酱  阅读(10)  评论(0)    收藏  举报