JAVA实现任意位数密码

刚进公司的时候被前辈教着写了一些代码,为便于复习所以放在这里...


以下为实现任意位数密码的JAVA代码

(因为在日企,所以注释都是日文的,下面会对代码做说明)



    /**
     * パスワード取得
     *
     * @param size
     *            パスワードサイズ
     * @return
     */
    public String getPassword(int size) {

        Random randomWord = new Random();
        char[] chrPassword = new char[size];

        // パスワード格納
        StringBuffer strBuff = new StringBuffer();

        // データディクショナリ
        char[] passLib = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
                'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
                'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
                'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
                'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5',
                '6', '7', '8', '9' };

        // ループでパスワード取得
        for (int i = 0; i < size; i++) {
            chrPassword[i] = passLib[randomWord.nextInt(passLib.length)];
            strBuff.append(chrPassword[i]);
        }

        return strBuff.toString();
    }
}


首先声明和初始化随机数randomWord以及存放随机数的char型数组chrPassword,该数组的大小(即数组大小)值size由调用该方法的地方传值进来。

再创建一个用来存放密码的变量strBuff,我们把他定义为可变长的StringBuffer型。

之后定义数据字典,也就是密码可能被赋予的值,定义为只能以单一字符为元素的char型数组。

for循环就是取得随机密码的主要步骤。即:依照调用方传过来的密码长度作为for循环的范围,依次从数据字典里面取随机位数的字符。然后添加到密码变量中。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值