JAVA实现任意位数密码

来源:互联网 发布:多功能网络性能测试仪 编辑:程序博客网 时间:2024/05/16 02:21

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


以下为实现任意位数密码的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循环的范围,依次从数据字典里面取随机位数的字符。然后添加到密码变量中。




0 0