生成随机码的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




Android随机验证码的生成

Android随机生成验证码,Android利用随机数绘制不规则的验证码,加强用户登录或者注册的安全性。 具体思路如下: 在一块固定宽高的画布上,画上固定个数的随机数字和字母,再画上固定条数的干扰线,...
  • yushuangping
  • yushuangping
  • 2017年05月04日 16:29
  • 130

android中执行(定时任务)的方法及6位随机码的产生

http://www.cnblogs.com/yejiurui/p/3385385.html 1.直接在线程中睡觉的方法,这个比较常见,操作也方便   class...
  • languobeibei
  • languobeibei
  • 2016年08月31日 19:51
  • 960

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

现在的WEB中经常会需要产生一些邀请码、激活码。需要是唯一并且随机的。下面总结下一些常用的产生随机码的方法,并分享自己的1个方法. 1. 自己写代码产生随机的数字和字母组合,每产生1个去数据库查询该...
  • wlming6
  • wlming6
  • 2015年07月24日 14:56
  • 600

Asp.NET 生成随机码

using System; using System.Data; using System.Configuration; using System.Web; using System.Web....
  • lwq8992628351
  • lwq8992628351
  • 2013年04月28日 12:46
  • 246

PHP 生成随机码探索

背景 今天因为无聊,小伙伴让写一个生成5位随机码的函数,要求:可包含数字、字母大小写,代码尽量短。 解题思路(1) . 第一思路都是印象中匹配ASCII码进行随机读取的实现方法,此处可提供一个方法作为...
  • u011415782
  • u011415782
  • 2017年10月20日 18:04
  • 155

随机码生成代码

import java.util.Random; public class test { /** * @param args */ public static void main(St...
  • qingtianzhu_wjz
  • qingtianzhu_wjz
  • 2013年05月28日 11:29
  • 540

扩频通信——伪随机序列

伪随机码是人造的随机序列,真实的随机序列就是高斯白噪声。 伪随机码的作用在之前的章节有说明,这里就不说了。先介绍白噪声的性质 白噪声 自相关函数: 双边噪声谱密度: (单边则为n。) 而伪...
  • caohui1994
  • caohui1994
  • 2015年03月18日 00:33
  • 816

Android生成随机验证码技术

在Android客户端应用开发中,往往需要短信验证码或者随机验证码来限制用户的操作或者认证。短信验证码是为了对用户进行认证,主要通过Http协议等通信协议实现;随机验证码很大程度是为限制或者提示用户相...
  • u012637501
  • u012637501
  • 2015年06月15日 15:52
  • 1444

生成图片带有随机码的验证码

页面端:   URP 综合教务系统 - 登录 /css/newcss/login.css" rel="stylesheet" type="text/css"> /css/newcss/pr...
  • RonaldoZH
  • RonaldoZH
  • 2015年09月10日 15:06
  • 1219

PHP生成随机密码的4种方法及性能对比

使用PHP开发应用程序,尤其是网站程序,常常需要生成随机密码,如用户注册生成随机密码,用户重置密码也需要生成一个随机的密码。随机密码也就是一串固定长度的字符串,这里我收集整理了几种生成随机字符串的方法...
  • Zhihua_W
  • Zhihua_W
  • 2016年10月04日 22:09
  • 728
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:生成随机码的2种方法
举报原因:
原因补充:

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