java基础案例教程5-2模拟默认密码自动生成

该代码片段展示了如何使用Java的Scanner类获取用户输入,并将输入的用户名存储到StringBuffer对象中。然后,它反转用户名并显示默认密码。这是一个简单的命令行交互示例。
package asd;
import java.util.Scanner;
public class example5_2 {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        StringBuffer name=new StringBuffer();
        System.out.println("请输入用户名:");
        name.append(input.next());
        System.out.println("用户名为:"+name.toString());
        System.out.println("默认密码为:"+name.reverse());
    }
}

Java中,你可以创建一个简单的案例模拟默认密码自动生成。例如,我们可以设计一个名为`DefaultPasswordGenerator`的类,它有一个静态方法生成随机的密码。这个例子假设我们想要生成包含大写字母、小写字母、数字和特殊字符的密码。 ```java import java.security.SecureRandom; import java.util.Base64; public class DefaultPasswordGenerator { private static final String CHAR_LOWER = "abcdefghijklmnopqrstuvwxyz"; private static final String CHAR_UPPER = CHAR_LOWER.toUpperCase(); private static final String NUMBER = "0123456789"; private static final String SPECIAL_CHARS = "!@#$%^&*()_+~`|}{[]:;?><,./-="; private static SecureRandom random = new SecureRandom(); public static String generate(int length) { if (length < 8) { throw new IllegalArgumentException("Password length should be at least 8 characters"); } StringBuilder sb = new StringBuilder(length); // Combine all character sets and pick random ones for the password for (int i = 0; i < length; i++) { int index = random.nextInt(CHAR_LOWER.length() + CHAR_UPPER.length() + NUMBER.length() + SPECIAL_CHARS.length()); switch (index % 4) { case 0: sb.append(randomChar(CHAR_LOWER)); break; case 1: sb.append(randomChar(CHAR_UPPER)); break; case 2: sb.append(randomChar(NUMBER)); break; default: sb.append(randomChar(SPECIAL_CHARS)); break; } } return Base64.getEncoder().encodeToString(sb.toString().getBytes()); // Add base64 encoding for safety } private static char randomChar(String chars) { return chars.charAt(random.nextInt(chars.length())); }
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值