java随机生成字符串(字符随机生成类 生成随机字符组合)
原文:http://www.jb51.net/article/45006.htm
package p2p_web;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
/**
* 字符随机生成类
* @author ASUS
*
*/
public class PassWord { /**
* 密码类型枚举
* @author ASUS
*/
public static enum TYPE {
/**
* 字符型
*/
LETTER,
/**
* 大写字符型
*/
CAPITAL,
/**
* 数字型
*/
NUMBER,
/**
* 符号型
*/
SIGN,
/**
* 大+小字符 型
*/
LETTER_CAPITAL,
/**
* 小字符+数字 型
*/
LETTER_NUMBER,
/**
* 大+小字符+数字 型
*/
LETTER_CAPITAL_NUMBER,
/**
* 大+小字符+数字+符号 型
*/
LETTER_CAPITAL_NUMBER_SIGN
} private static String[] lowercase = {
"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"}; private static String[] capital = {
"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"}; private static String[] number = {
"1","2","3","4","5","6","7","8","9","0"}; private static String[] sign = {
"~","!","@","#","$","%","^","&","*","(",")","_","+","`","-","=",
"{","}","|",":","\"","<",">","?",
"[","]","\\",";","'",",",".","/"}; /**
* 静态随机数
*/
private static Random random = new Random(); public static void main(String[] args) {
System.out.println(PassWord.getRandom(24, PassWord.TYPE.LETTER_CAPITAL_NUMBER_SIGN));
} /**
* 获取随机组合码
* @param num 位数
* @param type 类型
* @type
* <br>字符型 LETTER,
* <br>大写字符型 CAPITAL,
* <br>数字型 NUMBER,
* <br>符号型 SIGN,
* <br>大+小字符型 LETTER_CAPITAL,
* <br>小字符+数字 型 LETTER_NUMBER,
* <br>大+小字符+数字 型 LETTER_CAPITAL_NUMBER,
* <br>大+小字符+数字+符号 型 LETTER_CAPITAL_NUMBER_SIGN
*/
public static String getRandom(int num,TYPE type){
ArrayList<String> temp = new ArrayList<String>();
StringBuffer code = new StringBuffer();
if(type == TYPE.LETTER){
temp.addAll(Arrays.asList(lowercase));
}else if(type == TYPE.CAPITAL){
temp.addAll(Arrays.asList(capital));
}else if(type == TYPE.NUMBER){
temp.addAll(Arrays.asList(number));
}else if(type == TYPE.SIGN){
temp.addAll(Arrays.asList(sign));
}else if(type == TYPE.LETTER_CAPITAL){
temp.addAll(Arrays.asList(lowercase));
temp.addAll(Arrays.asList(capital));
}else if(type == TYPE.LETTER_NUMBER){
temp.addAll(Arrays.asList(lowercase));
temp.addAll(Arrays.asList(number));
}else if(type == TYPE.LETTER_CAPITAL_NUMBER){
temp.addAll(Arrays.asList(lowercase));
temp.addAll(Arrays.asList(capital));
temp.addAll(Arrays.asList(number));
}else if(type == TYPE.LETTER_CAPITAL_NUMBER_SIGN){
temp.addAll(Arrays.asList(lowercase));
temp.addAll(Arrays.asList(capital));
temp.addAll(Arrays.asList(number));
temp.addAll(Arrays.asList(sign));
}
for (int i = 0; i < num; i++) {
code.append(temp.get(random.nextInt(temp.size())));
}
return code.toString();
}
}
java随机生成字符串(字符随机生成类 生成随机字符组合)的更多相关文章
- Java的整个字符串的结束索引在最后一个字符之外
/** * Created by xfyou on 2016/11/4. */ public class SubstringDemo { public static void main(String[ ...
- java 中操作字符串都有哪些类?(未完成)它们之间有什么区别?(未完成)
java 中操作字符串都有哪些类?(未完成)它们之间有什么区别?(未完成)
- JAVA insert() 插入字符串 reverse() 颠倒 delete()和deleteCharAt() 删除字符 replace() 替换 substring() 截取子串
insert() 插入字符串 StringBuffer insert(int index,String str) StringBuffer insert(int index,char ch) Stri ...
- 生成二维码 加密解密类 TABLE转换成实体、TABLE转换成实体集合(可转换成对象和值类型) COOKIE帮助类 数据类型转换 截取字符串 根据IP获取地点 生成随机字符 UNIX时间转换为DATETIME\DATETIME转换为UNIXTIME 是否包含中文 生成秘钥方式之一 计算某一年 某一周 的起始时间和结束时间
生成二维码 /// <summary>/// 生成二维码/// </summary>public static class QRcodeUtils{private static ...
- js产生一个随机的字符串数字组合
/** * 随机生成字符串 * @param randomFlag 产生任意长度随机字母数字组合 * @param min 任意长度最小位[固定位数] * @param max 任意长度最大位 * @ ...
- java随机生成字符串工具类
package aA; import java.util.ArrayList; import java.util.Arrays; import java.util.Random; /** * 字符随机 ...
- RandomStringUtils工具类(java随机生成字符串)
使用RandomStringUtils可以选择生成随机字符串,可以是全字母,全数字,自定义生成字符等等... 其最基础的方法: 参数解读: count:需要生成的随机串位数 letters:只要字母 ...
- java随机生成字符串和校验
首先定义字符串 String a = "0123456789"; // 数字 String b = "abcdefghijklmnopqrstuvwxyz"; ...
- Java随机字符串:随机数字字符串,工具类
Java中生成随机数,字符串的工具类 1. 调用方法需要传入生成字符串的长度和需要的类型 生成随机数字 生成随机字母字符串 生成随机字符串+数字等 ......... 2. 总共8种类型,具体看工具类 ...
随机推荐
- 架构师入门ing
算法竞赛水平一般,算法工程师估计遥遥无期,准备开始架构方面的学习. 单纯依靠垂直提升硬件性能来提高系统性能的时代已结束,分布式开发的时代实际上早已悄悄地成为了时代的主流. 在一个团队里,架构师充当了技 ...
- 个人支付宝监控并自动获取交易记录对接系统API
我们都知道,支付宝支付API接口只有企业才能使用,但有一部分业务,可能我们不方便使用企业收款,但又想做到自动化,那怎么办呢 于是一个支付宝交易记录自动监控软件诞生了. 支付宝都有一个收款二维码,收款提 ...
- MyBatis 基本演示
主配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration P ...
- 个人收藏的移动端网页布局rem解决方案
写移动端项目时,总是会纠结是用css3 media query 还是用rem.移动端框架挺多,但是因为项目都比较小,不考虑使用. 无意在网上找到一个移动端rem布局的解决方案,经个人实践,目前未出现什 ...
- swipe display: none后再显示,加载内容后,滑动失效问题
只需要添加这两个属性即可: observer:true,//修改swiper自己或子元素时,自动初始化swiper observeParents:true//修改swiper的父元素时,自动初始化sw ...
- 在linux中启动mysql服务的命令
用reboot命令重启linux服务器之后会导致mysql服务终止,也就是mysql服务没有启动.必须要重启mysql服务,否则启动jboss时会 报有关数据库mysql方面的错误. 命令如下: 第一 ...
- 基于cookie共享的SSO中的遇到的问题
什么是SSO? 现在很多大的互联网公司都会有很多的应用,比如以下是淘宝网的截图: 天猫 聚划算 头条等都是不同的应用,有的甚至采用完全不同的域名,但是所有在淘宝注册的用户都是使用的一套用户名和口令,如 ...
- Android JSON
转自:http://www.open-open.com/lib/view/open1326376799874.html JSON的定义: 一 种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性 ...
- [ZJOI2008]树的统计——树链剖分
本题是一个树链剖分裸题,由于比较菜,老是RE,后来发现是因为使用了全局变量. /************************************************************ ...
- error LNK2001: unresolved external symbol "int g_cTemplates" (?g_cTemplates@@3HA)(转)
原文转自:http://blog.sina.com.cn/s/blog_639a2ad70101kpen.html 编译directshow若干问题的解决 1.安装好windows sdk,进入dir ...