JAVA随机类批量生成账户密码


遇到一个钓鱼网站所制作的,是一个利用RandomStringBuffer函数写的一个批量程序,用于塞爆对方服务器的数据库。

注意:本案例不涉及服务器请求方式的代码
public class RandomUserPwd {
    public static void main(String[] args) {

        //QQ所需字符串
        String numStr = "0123456789";
        //密码所需字符串
        String pwdStr = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#";
        //使用StringBuffer类可以比纯String类更高效拼接字符串
        StringBuffer userStr = new StringBuffer();
        StringBuffer userPwd = new StringBuffer();
        //生成的总次数
        for (int i = 0; i < 100; i++) {
            //生成QQ号的逻辑 useri 表示最大位数
            for (int useri = 0; useri < 9; useri++) {
                int rand = (int) (Math.random()*numStr.length());
                //防止首位生成为0的QQ号
                if (useri == 0 && rand == 0){
                    useri -= 1;
                    continue;
                }
                //拼接此QQ号
                userStr.append(numStr.charAt(rand));
            }
            //於QQ号后添加@qq.com
            userStr.append("@qq.com");

            //生成六位随机密码
            for (int passi = 0; passi < 6; passi++) {
                int rand2 = (int) (Math.random()*pwdStr.length());
                userPwd.append(pwdStr.charAt(rand2));
            }
            System.out.println("用户名:"+userStr+" 密码:"+userPwd);
            userPwd.setLength(0);
            userStr.setLength(0);
        }
    }
}

随机的逻辑是通过Math.random()获得一个介于0和1之间的随机浮点数,并将它与numStr中的长度相乘,得到一个随机下标rand数。之后利用charAtrand下标即可获得该随机数。

对于熟悉Random函数很有帮助。

最后修改:2023 年 12 月 28 日
喜欢就请我喝一杯奶茶吧~