赞
踩
该类提供加密强随机数生成器(RNG)。
此外, SecureRandom必须产生非确定性输出。 因此,传递给SecureRandom对象的任何种子材料必须是不可预测的,并且所有SecureRandom输出序列必须加密强,如RFC 4086: Randomness Requirements for Security中所述 。
许多SecureRandom实现采用伪随机数生成器(PRNG,也称为确定性随机比特生成器或DRBG)的形式,这意味着它们使用确定性算法从随机种子生成伪随机序列。 其他实现可以产生真正的随机数,而其他实现可以使用两种技术的组合。
调用者通过无参数构造函数或getInstance方法之一获取SecureRandom实例。 例如:
SecureRandom r1 = new SecureRandom();
SecureRandom r2 = SecureRandom.getInstance("NativePRNG");
SecureRandom r3 = SecureRandom.getInstance("DRBG",
DrbgParameters.instantiation(128, RESEED_ONLY, null));
上面的第三个语句返回支持特定实例化参数的特定算法的SecureRandom对象。 实现的有效实例化参数必须与此最小请求匹配,但不一定相同。 例如,即使请求不需要某个特征,实际的实例化也可以提供该特征。 实现可能会懒惰地实例化SecureRandom直到它实际使用,但有效的实例化参数必须在创建后立即确定,并且getParameters()应始终保持不变的相同结果。
SecureRandom典型调用SecureRandom调用以下方法来检索随机字节:
SecureRandom random = new SecureRandom();
byte[] bytes = new byte[20];
random.nextBytes(bytes);
调用者也可以调用generateSeed(int)方法来生成给定数量的种子字节(例如,为其他随机数生成器播种):
byte[] seed = random.generateSeed(20);
新创建的PRNG SecureRandom对象不是种子(除非它是由SecureRandom(byte[])创建的)。 第一次调用nextBytes将强制它从特定于实现的熵源中播种。 如果先前调用了setSeed则不会发生这种自播种。
甲SecureRandom可以在任何时候通过调用补种reseed或setSeed方法。 reseed方法从其熵源读取熵输入以重新定位自身。 setSeed方法要求调用者提供种子。
请注意: reseed并非所有支持SecureRandom实现。
注意:根据实施, generateSeed , reseed和nextBytes方法可阻止作为熵被收集,例如,如果源熵是/ dev /上的各种类Unix操作系统随机的。
线程安全
SecureRandom对象可安全使用多个并发线程。
构造一个实现默认随机数算法的安全随机数发生器(RNG)。
构造一个实现默认随机数算法的安全随机数发生器(RNG)。
创建一个
SecureRandom对象。
返回给定的种子字节数,使用此类用于种子自身的种子生成算法计算。
返回此
SecureRandom对象实现的算法的名称。
返回实现指定的随机数生成器(RNG)算法的
SecureRandom对象。
返回实现指定的随机数生成器(RNG)算法的
SecureRandom对象。
返回实现指定的随机数生成器(RNG)算法的
SecureRandom对象。
返回实现指定的随机数生成器(RNG)算法的
SecureRandom对象,并支持指定的
SecureRandomParameters请求。
返回实现指定的随机数生成器(RNG)算法的
SecureRandom对象,并支持指定的
SecureRandomParameters请求。
返回实现指定的随机数生成器(RNG)算法的
SecureRandom对象,并支持指定的
SecureRandomParameters请求。
返回使用securerandom.strongAlgorithms Security属性中指定的算法/提供程序选择的SecureRandom对象。
SecureRandom对象的提供程序。
返回给定的种子字节数,使用此类用于种子自身的种子生成算法计算。
生成一个包含用户指定数量的伪随机位的整数(右对齐,前导零)。
生成用户指定的随机字节数。
使用其他参数生成用户指定数量的随机字节。
使用从其熵源读取的熵输入重新选择此
SecureRandom 。
使用附加参数从其熵源读取的熵输入重新选择此
SecureRandom 。
使用给定的种子重新种植此随机对象。
使用给定
long seed包含的八个字节重新设置此随机对象。
返回此
SecureRandom的人类可读字符串表示
SecureRandom 。
构造一个实现默认随机数算法的安全随机数发生器(RNG)。
此构造函数遍历已注册的安全提供程序列表,从最首选的提供程序开始。 将SecureRandomSpi从第一个支持SecureRandom (RNG)算法的Provider封装SecureRandomSpi实现的新SecureRandom对象。 如果没有提供者支持RNG算法,则返回特定于实现的默认值。
构造一个实现默认随机数算法的安全随机数发生器(RNG)。
SecureRandom实例以指定的种子字节播种。
此构造函数遍历已注册的安全提供程序列表,从最首选的提供程序开始。 将SecureRandomSpi从第一个支持SecureRandom (RNG)算法的Provider封装SecureRandomSpi实现的新SecureRandom对象。 如果没有提供者支持RNG算法,则返回特定于实现的默认值。
请注意,可以通过Security.getProviders()方法检索已注册提供程序的列表。
SecureRandom对象。
返回实现指定的随机数生成器(RNG)算法的SecureRandom对象。
此方法遍历已注册的安全提供程序列表,从最首选的提供程序开始。 将SecureRandomSpi从第一个支持指定算法的Provider封装SecureRandomSpi实现的新SecureRandom对象。
返回实现指定的随机数生成器(RNG)算法的SecureRandom对象。
将返回从指定提供程序封装SecureRandomSpi实现的新SecureRandom对象。 必须在安全提供程序列表中注册指定的提供程序。
返回实现指定的随机数生成器(RNG)算法的SecureRandom对象。
将SecureRandom一个新的SecureRandom对象,该对象封装了指定的Provider对象中的SecureRandomSpi实现。 请注意,指定的Provider对象不必在提供程序列表中注册。
返回实现指定的随机数生成器(RNG)算法的SecureRandom对象,并支持指定的SecureRandomParameters请求。
此方法遍历已注册的安全提供程序列表,从最首选的提供程序开始。 将SecureRandom一个新的SecureRandom对象,该对象从第一个支持指定算法的Provider和指定的SecureRandomParameters封装SecureRandomSpi实现。
请注意,可以通过Security.getProviders()方法检索已注册提供程序的列表。
返回实现指定的随机数生成器(RNG)算法的SecureRandom对象,并支持指定的SecureRandomParameters请求。
将返回从指定提供程序封装SecureRandomSpi实现的新SecureRandom对象。 必须在安全提供程序列表中注册指定的提供程序。
返回实现指定的随机数生成器(RNG)算法的SecureRandom对象,并支持指定的SecureRandomParameters请求。
将SecureRandom一个新的SecureRandom对象,该对象封装了指定的Provider对象中的SecureRandomSpi实现。 请注意,指定的Provider对象不必在提供程序列表中注册。
返回此
SecureRandom对象的提供程序。
返回此
SecureRandom对象实现的算法的名称。
返回此
SecureRandom的人类可读字符串表示
SecureRandom 。
返回值可以与传递到getInstance方法的SecureRandomParameters对象不同,但在此SecureRandom对象的生命周期内不能更改。
调用者可以使用返回的值来查找此SecureRandom支持的功能。
使用给定的种子重新种植此随机对象。
种子补充而不是替代现有的种子。
因此,保证重复呼叫永远不会减少随机性。
一个PRNG SecureRandom如果不会自动种子本身setSeed之前任何所谓的nextBytes或reseed电话。 调用者应确保seed参数包含足够的熵以保证此SecureRandom的安全性。
使用给定long seed包含的八个字节重新设置此随机对象。
给定的种子补充而不是替代现有的种子。
因此,保证重复呼叫永远不会减少随机性。
定义此方法是为了与java.util.Random兼容。
生成用户指定的随机字节数。
使用其他参数生成用户指定数量的随机字节。
生成一个包含用户指定数量的伪随机位的整数(右对齐,前导零)。
此方法重写一个java.util.Random方法,以及用于提供随机比特的源到所有的从类继承的方法(例如, nextInt , nextLong ,和nextFloat )。
返回给定的种子字节数,使用此类用于种子自身的种子生成算法计算。
该调用可用于播种其他随机数生成器。
此方法仅用于向后兼容。 建议调用者使用备用getInstance方法之一获取SecureRandom对象,然后调用generateSeed方法从该对象获取种子字节。
返回给定的种子字节数,使用此类用于种子自身的种子生成算法计算。
该调用可用于播种其他随机数生成器。
返回使用securerandom.strongAlgorithms Security属性中指定的算法/提供程序选择的SecureRandom对象。
某些情况需要强大的随机值,例如在创建RSA公钥/私钥等高价值/长期密码时。 为了帮助指导应用程序选择合适的强大的SecureRandom实现,Java发行版包含securerandom.strongAlgorithms Security属性中已知的强大的SecureRandom实现列表。
Java平台的每个实现都需要支持至少一个强大的SecureRandom实现。
使用从其熵源读取的熵输入重新设定此
SecureRandom 。
使用附加参数从其熵源读取的熵输入重新选择此SecureRandom 。
注意,熵是从熵源获得的。 虽然params一些数据可能包含熵,但其主要用途是提供多样性。
构造方法
变量
构造器
描述
构造一个实现默认随机数算法的安全随机数发生器(RNG)。
构造一个实现默认随机数算法的安全随机数发生器(RNG)。
protected
创建一个
SecureRandom对象。变量和类型
方法
描述
byte[]
返回给定的种子字节数,使用此类用于种子自身的种子生成算法计算。
返回此
SecureRandom对象实现的算法的名称。
返回实现指定的随机数生成器(RNG)算法的
SecureRandom对象。
返回实现指定的随机数生成器(RNG)算法的
SecureRandom对象。
返回实现指定的随机数生成器(RNG)算法的
SecureRandom对象。
返回实现指定的随机数生成器(RNG)算法的
SecureRandom对象,并支持指定的
SecureRandomParameters请求。
返回实现指定的随机数生成器(RNG)算法的
SecureRandom对象,并支持指定的
SecureRandomParameters请求。
返回实现指定的随机数生成器(RNG)算法的
SecureRandom对象,并支持指定的
SecureRandomParameters请求。
返回使用securerandom.strongAlgorithms Security属性中指定的算法/提供程序选择的SecureRandom对象。
返回此
SecureRandom对象的提供程序。
static byte[]
返回给定的种子字节数,使用此类用于种子自身的种子生成算法计算。
protected int
生成一个包含用户指定数量的伪随机位的整数(右对齐,前导零)。
void
生成用户指定的随机字节数。
void
使用其他参数生成用户指定数量的随机字节。
void
使用从其熵源读取的熵输入重新选择此
SecureRandom 。
void
使用附加参数从其熵源读取的熵输入重新选择此
SecureRandom 。
void
使用给定的种子重新种植此随机对象。
void
使用给定
long seed包含的八个字节重新设置此随机对象。
返回此
SecureRandom的人类可读字符串表示
SecureRandom 。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。