Loading... #### JAVA随机类批量生成账户密码 --- 遇到一个钓鱼网站所制作的,是一个利用`Random`与`StringBuffer`函数写的一个批量程序,用于塞爆对方服务器的数据库。 > *注意:本案例不涉及服务器请求方式的代码* ```java 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`数。之后利用`charAt`取`rand`下标即可获得该随机数。 对于熟悉`Random`函数很有帮助。 最后修改:2023 年 12 月 28 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 喜欢就请我喝一杯奶茶吧~