SecureRandom是强随机数生成器,主要应用的场景为:用于安全目的的数据数,例如生成秘钥或者会话标示(session ID),弱随机数生成器会产生严重的安全问题,而使用SecureRandom这样的强随机数生成器将会极大的降低出问题的风险。

SecureRandom与Random有很强的关系。

1. SecureRandom继承于Random,看一下它的两个构造函数构造函数:

public SecureRandom()
{
super(0);//调用Random的构造函数
getDefaultPRNG(false, null);
}
public SecureRandom(byte seed[])
{
super(0);//调用Random的构造函数
getDefaultPRNG(true, seed);
}

2. SecureRandom与Random的常见的两个方法如下所示:

获得一个随机的int数:

public int nextInt() {
return next(32);
}

next方法如下:

protected int next(int bits) {
long oldseed, nextseed;
AtomicLong seed = this.seed;
do {
oldseed = seed.get();
nextseed = (oldseed * multiplier + addend) & mask;
} while (!seed.compareAndSet(oldseed, nextseed));
return (int)(nextseed >>> (48 - bits));
}

获得随机的字节数组:

synchronized public void nextBytes(byte[] bytes)
{
secureRandomSpi.engineNextBytes(bytes);
}

获得别的随机数的方法见下图:

aaarticlea/png;base64,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" alt="" />

想更深入的SecureRandom研究文章,请参考别的资料。

SecureRandom产生强随机数简介的更多相关文章

  1. 转: c#.net利用RNGCryptoServiceProvider产生任意范围强随机数的办法

    //这样产生0 ~ 100的强随机数(含100) ; int rnd = int.MinValue; decimal _base = (decimal)long.MaxValue; ]; System ...

  2. c#.net利用RNGCryptoServiceProvider产生任意范围强随机数的办法

    //这样产生0 ~ 100的强随机数(含100)int max = 100;int rnd = int.MinValue;decimal _base = (decimal)long.MaxValue; ...

  3. SecureRandom生成随机数超慢 导致tomcat启动时间过长的解决办法

    用腾讯云的CentOS 7.2 CVM 服务器跑Tomcat时发现,Tomcat启动的特别慢,通过查看日志,发现时间主要花在实例化SecureRandom对象上了. 由该日志可以看出,实例化该对象使用 ...

  4. SecureRandom

    我们知道,Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字. 相同种子数的Ra ...

  5. Java生成随机数的4种方式

    Random Random 类诞生于 JDK 1.0,它产生的随机数是伪随机数,也就是有规则的随机数.Random 使用的随机算法为 linear congruential pseudorandom ...

  6. Java安全API

    java提供了完整的密码学API,我们可以结合密码学相关的概念来系统的学习这些API. 1.密码学简介(crypto) 密码学通俗来说就是研究如何对信息进行加密和破密,如果不是专门研究信息安全,通常我 ...

  7. FindBugs工具常见问题

    1,AM: Creates an empty jar file entry (AM_CREATES_EMPTY_JAR_FILE_ENTRY)/AM: Creates an empty zip fil ...

  8. awk 手册--【转载】

    1. 前言 有关本手册 : 这是一本awk学习指引,  其重点着重于 : l         awk 适于解决哪些问题 ? l         awk 常见的解题模式为何 ? 为使读者快速掌握awk解 ...

  9. awk中文手册

    1. 前言 有关本手册 : 这是一本awk学习指引, 其重点着重于 : l        awk 适于解决哪些问题 ? l        awk 常见的解题模式为何 ? 为使读者快速掌握awk解题的模 ...

随机推荐

  1. Understanding Optional and Compulsory Parameters

    If the MVC Framework cannot find a value for a reference type parameter (such as a string or object) ...

  2. 关于在C#中对类中的隐藏基类方法和重写方法的理解

    最近在学习C#,在C#中的类看到重写和隐藏基类的方法这些概念.才开始感觉自己不是很理解这些概念.也区分不开这些概念.通过自己的查找资料和练习后.慢慢的理解了类中的隐藏和重写这个概念.在C#中只有在基类 ...

  3. .net中 Timer定时器

    作者:feiying008 在开发一套视觉系统时,发现系统内存一直不断增加,直至系统内存爆满.一开始还以为是程序内存泄露,是图像操作算法写的有问题,但是,发现如果电机轴如果 不运行的状态下,每隔一秒进 ...

  4. python模块之HTMLParser

    HTMLParser是python用来解析html的模块.它可以分析出html里面的标签.数据等等,是一种处理html的简便途径. HTMLParser采用的是一种事件驱动的模式,当HTMLParse ...

  5. CodeForces 732F Tourist Reform

    边双连通分量. 这题有一点构造的味道.一个有向图,经过强连通缩点之后会形成一个有向无环图. 如果将最大的强连通分量放在顶端,其余的强连通分量都直接或间接指向他,那么这样就构造出了符合要求的图. 接下来 ...

  6. Java实现打包下载BLOB字段中的文件

    概述 web项目的文件打包下载实现:servlet接收请求,spring工具类访问数据库及简化大字段内容获取,org.apache.tools.zip打包. 必要提醒:当前总结是继Java实现下载BL ...

  7. devops basic

  8. Implement Trie(LintCode)

    Implement Trie Implement a trie with insert, search, and startsWith methods. 样例   注意 You may assume ...

  9. 线段树+扫描线【bzoj1645】[USACO07OPEN]城市的地平线City Horizon

    Description 约翰带着奶牛去都市观光.在落日的余晖里,他们看到了一幢接一幢的摩天高楼的轮廓在地平线 上形成美丽的图案.以地平线为 X 轴,每幢高楼的轮廓是一个位于地平线上的矩形,彼此间可能有 ...

  10. sqlmap os shell解析

    0x00 Background 最近遇到测试环境,最后利用sqlmap的--os-shell参数取得shell.一直以来,对这个参数的工作原理不是十分的清晰.大致的思想应该是将脚本插入到数据库中,然后 ...