public class AlgorithmParameterGenerator extends Object
AlgorithmParameterGenerator
类用于生成一组要用于某种算法的参数。
使用getInstance
工厂方法(返回给定类的实例的静态方法)构造参数生成器。
将生成参数的对象可以通过两种不同的方式进行初始化:以独立于算法的方式,或以特定于算法的方式进行初始化:
如果客户端没有显式初始化AlgorithmParameterGenerator(通过调用init
方法),则每个提供程序都必须提供(并记录)默认的初始化。 例如,Sun提供商使用1024位的默认模数素数大小来生成DSA参数。
Java平台的每个实现都需要支持以下标准AlgorithmParameterGenerator
算法,并在括号中键入:
DiffieHellman
(1024) DSA
(1024) AlgorithmParameters
, AlgorithmParameterSpec
Modifier | Constructor and Description |
---|---|
protected |
AlgorithmParameterGenerator(AlgorithmParameterGeneratorSpi paramGenSpi, Provider provider, String algorithm)
创建一个AlgorithmParameterGenerator对象。
|
Modifier and Type | Method and Description |
---|---|
AlgorithmParameters |
generateParameters()
生成参数。
|
String |
getAlgorithm()
返回此参数生成器关联的算法的标准名称。
|
static AlgorithmParameterGenerator |
getInstance(String algorithm)
返回一个AlgorithmParameterGenerator对象,用于生成与指定算法一起使用的一组参数。
|
static AlgorithmParameterGenerator |
getInstance(String algorithm, Provider provider)
返回一个AlgorithmParameterGenerator对象,用于生成与指定算法一起使用的一组参数。
|
static AlgorithmParameterGenerator |
getInstance(String algorithm, String provider)
返回一个AlgorithmParameterGenerator对象,用于生成与指定算法一起使用的一组参数。
|
Provider |
getProvider()
返回此算法参数生成器对象的提供者。
|
void |
init(AlgorithmParameterSpec genParamSpec)
使用一组特定于算法的参数生成值初始化此参数生成器。
|
void |
init(AlgorithmParameterSpec genParamSpec, SecureRandom random)
使用一组特定于算法的参数生成值初始化此参数生成器。
|
void |
init(int size)
初始化此参数生成器达一定大小。
|
void |
init(int size, SecureRandom random)
初始化此参数生成器以获得一定的大小和随机源。
|
protected AlgorithmParameterGenerator(AlgorithmParameterGeneratorSpi paramGenSpi, Provider provider, String algorithm)
paramGenSpi
- 代表
provider
- 提供商
algorithm
- 算法
public final String getAlgorithm()
public static AlgorithmParameterGenerator getInstance(String algorithm) throws NoSuchAlgorithmException
此方法遍历已注册的安全提供程序列表,从最优选的提供程序开始。 返回从支持指定算法的第一个Provider中封装AlgorithmParameterGeneratorSpi实现的新AlgorithmParameterGenerator对象。
请注意,可以通过Security.getProviders()
方法检索已注册提供商的列表。
algorithm
- 与该参数生成器相关联的算法的名称。
看到的AlgorithmParameterGenerator部分Java Cryptography Architecture Standard Algorithm Name Documentation有关标准算法名称的信息。
NoSuchAlgorithmException
- 如果没有提供者支持指定算法的AlgorithmParameterGeneratorSpi实现。
Provider
public static AlgorithmParameterGenerator getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
返回从指定提供程序封装AlgorithmParameterGeneratorSpi实现的新AlgorithmParameterGenerator对象。 指定的提供者必须在安全提供程序列表中注册。
请注意,注册提供商的列表可以通过Security.getProviders()
方法检索 。
algorithm
- 与此参数生成器相关联的算法的名称。
看到的AlgorithmParameterGenerator部分Java Cryptography Architecture Standard Algorithm Name Documentation有关标准算法名称的信息。
provider
- 提供程序的字符串名称。
NoSuchAlgorithmException
- 如果指定算法的AlgorithmParameterGeneratorSpi实现不能从指定的提供程序获得。
NoSuchProviderException
- 如果指定的提供程序未在安全提供程序列表中注册。
IllegalArgumentException
- 如果提供者名称为空或为空。
Provider
public static AlgorithmParameterGenerator getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
返回从指定的Provider对象封装AlgorithmParameterGeneratorSpi实现的新AlgorithmParameterGenerator对象。 请注意,指定的Provider对象不必在提供者列表中注册。
algorithm
- 与此参数生成器相关联的算法的字符串名称。
看到的AlgorithmParameterGenerator部分Java Cryptography Architecture Standard Algorithm Name Documentation有关标准算法名称的信息。
provider
- 提供者对象。
NoSuchAlgorithmException
- 如果指定的算法的AlgorithmParameterGeneratorSpi实现从指定的Provider对象中不可用。
IllegalArgumentException
- 如果指定的提供者为空。
Provider
public final Provider getProvider()
public final void init(int size)
SecureRandom
实现的最高优先级已安装提供的被用作随机源。
(如果没有一个已安装的提供商提供SecureRandom的SecureRandom
,则使用系统提供的随机源。)
size
- 大小(位数)。
public final void init(int size, SecureRandom random)
size
- 大小(位数)。
random
-
random
的来源。
public final void init(AlgorithmParameterSpec genParamSpec) throws InvalidAlgorithmParameterException
SecureRandom
实现的最高优先级已安装提供的被用作随机源。
(如果没有一个已安装的提供程序提供SecureRandom的SecureRandom
,则使用系统提供的随机源。)
genParamSpec
- 算法特定参数生成值的集合。
InvalidAlgorithmParameterException
- 如果给定参数生成值不适合此参数生成器。
public final void init(AlgorithmParameterSpec genParamSpec, SecureRandom random) throws InvalidAlgorithmParameterException
genParamSpec
- 一组特定于算法的参数生成值。
random
-
random
的来源。
InvalidAlgorithmParameterException
- 如果给定的参数生成值不适合该参数生成器。
public final AlgorithmParameters generateParameters()