生成随机码的2种方法

原创 2015年11月19日 17:53:34

本来打算写个微盘和百度盘的爬虫

微盘和百度盘的连接形式如下

http://pan.baidu.com/s/6NELdAumeOiO

http://vdisk.weibo.com/s/WUdfWKu1wzO

后面的参数都是随机字符串 ::: 后来因为这么生成的地址实在命中率太低,所以放弃爬虫实现。。。 

正好公司新需求,要求用户在注册的时候,生成邀请码,也涉及到随机字符串的生成,

所以研究了一下,分别用java 和 oracle 实现,具体打码如下


public static final Character[] chars = { '-', '_', '0', '1', '2', '3',
			'4', '5', '6', '7', '8', '9', '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' };

	/**
	 * 随机生成由数字、大小写字母、-、_ 组合的长度为5-13的字符串
	 * 
	 * @return
	 */
	public static String genRandomXCode() {
		List<Character> list = Arrays.asList(chars);
		Collections.shuffle(list);
		int len = random.nextInt(9) + 5;
		StringBuilder code = new StringBuilder();
		for (int i = 0; i < len; i++) {
			code.append(chars[random.nextInt(list.size())]);
		}
		return code.toString();
	}

生成结果如下


bindL
TtsDsr5
1NcWK4qSCPIj-
6LkQL4E46o
T0beiGi2BnDrR
vJvMMfieesR
xtuUsaPbcEHdG
TKZB2rE
FYQy5tfjZQM
jvct2lauupg
usgfXQ4zII1Qe
S1MfWsH4tS1mH


oracle方法如下

select lower(DBMS_RANDOM.STRING('X', 8))  from dual 


x代表大写的 字母和数字混合的字符串

长度是8


此方法生成的字符串 会出现纯字母和纯数字的情况 如果必须要混合 可以用个循环 在循环里 


REGEXP_INSTR(V_TEMP, '[0-9]+') != 0 and REGEXP_INSTR(V_TEMP, '[0-9]+') != 8 

这样判断 就可以避开 纯数字和纯字母的情况 


生成结果如下 

ex6nf5hj

9e8nbq2p

28b8ebut




相关文章推荐

产生唯一随机码的方法分析。

产生唯一随机码的方法分析。   现在的WEB中经常会需要产生一些邀请码、激活码。需要是唯一并且随机的。下面总结下一些常用的产生随机码的方法,并分享自己的1个方法:   1. 自己写代码产生随...

产生唯一随机码的方法分析

现在的WEB中经常会需要产生一些邀请码、激活码。需要是唯一并且随机的。下面总结下一些常用的产生随机码的方法,并分享自己的1个方法: 1. 自己写代码产生随机的数字和字母组合,每产生1个去...

移动开发html5最快banner制作(快速生成)有2种方法

html> lang="en"> http-equiv="Content-Type" content="text/html; charset=utf-8"> name="viewpo...

java笔记之使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件2种方法

Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件。 方法一、在...

PHP随机码图片的生成与验证

一般的方法: checkNumbers.php

生成指定个数的随机码,同时包含大小写字母和数字【H3C笔试题】

生成指定个数的随机码,同时包含大小写字母和数字

随机码生成代码

import java.util.Random; public class test { /** * @param args */ public static void main(St...

Java生成随机码(兑换码),带大小、小写字母、数字。

import java.util.Random; public class RandomString { /*** * 产生随机数的方法 * * @param len...

生成随机码类 (全)

using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Secu...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:生成随机码的2种方法
举报原因:
原因补充:

(最多只允许输入30个字)