1. 程式人生 > >JAVA生成字元數字交替的隨機密碼

JAVA生成字元數字交替的隨機密碼

package com.oovever.util;
import java.util.Date;
import java.util.Random;
/**
 * PassWord工具類
* @author OovEver
 * 2018/1/14 23:58
 */
public class PasswordUtil {
//定義可以使用的字元
public final static String[] word = {
"a", "b", "c", "d", "e", "f", "g",
"h", "j", "k", "m", "n",
"p", "q", "r", "s", "t",
"u", "v", 
"w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "M", "N", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" }; //定義可以使用的數字 public final static String[] num = { "2", "3", "4", "5", "6", "7", "8", "9" }; /** * 隨機生成密碼 * @return 返回隨機生成的密碼 */ public static String randomPassword
() { StringBuffer stringBuffer = new StringBuffer(); Random random = new Random(new Date().getTime()); // 隨機出數字還是字元 boolean flag = false; // 隨機出可以使用的長度 int length = random.nextInt(3) + 8; for (int i = 0; i < length; i++) { // flagtrue隨機出一個數字
if (flag) { stringBuffer.append(num[random.nextInt(num.length)]); } else { // 隨機出一個字元 stringBuffer.append(word[random.nextInt(word.length)]); } // 保證密碼在字元和數字之間 flag = !flag; } return stringBuffer.toString(); } public static void main(String[] args) throws Exception { System.out.println(randomPassword()); Thread.sleep(100); System.out.println(randomPassword()); Thread.sleep(100); System.out.println(randomPassword()); } }