图文验证码—数字验证技术

Posted 柯南&

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图文验证码—数字验证技术相关的知识,希望对你有一定的参考价值。

验证码—数字验证技术

在Java中,提供了一种可以生成随机数据的类,那就是java.util.Random类。在使用该类时,需要通过实例化一个Random对象创建一个随机数据生成器,其语法格式如下:

Random r=new Rnadom();

其中,r是指定Random对象。

以这种方式实例化对象时,Java编译器以系统当前时间作为随机数生成器的种子,因为每时每刻的时间不可能相同,所以产生的随机数也将不同,但是如果运行速度太快,也会产生两次运行结果相同的随机数。这时,可以在实例化Random对象时,设置随机数生成器的种子,其语法格式如下:

Rnadom r=new Random(seedValue);

其中,r是指定Random对象,seedValue是指随机数生成器的种子。

例如,生成以当前时间加1作为随机数生成器的种子实例化Random对象的代码如下:

Random r =new Random(new java.util.Date().getTime()+1);

在Random类中提供了获取各种数据类型随机数的方法,下面列举几个常用的方法。

public int nextInt()方法:返回一个随机整数。

public int nextInt(int n)方法:返回一个大于等于0小于n的随机整数。

public long nextLong()方法:返回一个随机长整型值。

public boolean nextBoolean()方法:返回一个随机布尔型值。

public float nextFloat()方法:返回一个随机浮点型值。

public double nextDouble()方法:返回一个随机双精度型值。

public double nextGaussian()方法:返回一个概率密度为高斯分布的双精度型值。

例如,生成以当前时间加1作为随机数生成器的种子,生成随机整数的代码如下:

Random r =new Random(new java.util.Date().getTime()+1);

System.out.println(r.nextInt());

运行上面的代码将生成如图1所示的随机数。

        773467653

以上是关于图文验证码—数字验证技术的主要内容,如果未能解决你的问题,请参考以下文章

JAVAWEB项目实现验证码中文英文数字组合

验证码识别技术

使用Java制作图文验证码

asp.net验证码[生成与刷新]防止恶意注册图文并茂包括

注册QQ时来的短信验证码样式

Code笔记 之:注册页面验证码