java.lang.Object java.security.AlgorithmParameterGenerator
public class AlgorithmParameterGenerator
AlgorithmParameterGenerator
类用于生成将在某个特定算法中使用的参数集合。参数生成器是使用 getInstance
工厂方法(返回给定类的实例的 static 方法)构造的。
可以使用以下两种方式初始化将生成参数的对象:与算法无关的方式或特定于算法的方式:
为防止客户端没有显式初始化 AlgorithmParameterGenerator(通过调用 init
方法),每个提供商都必须提供(并记录)一种默认的初始化。例如,Sun 提供商使用 1024 位的默认模数主大小生成 DSA 参数。
AlgorithmParameters
,
AlgorithmParameterSpec
构造方法摘要 | |
---|---|
protected |
AlgorithmParameterGenerator(AlgorithmParameterGeneratorSpi paramGenSpi, Provider provider, String algorithm) 创建一个 AlgorithmParameterGenerator 对象。 |
方法摘要 | |
---|---|
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) 针对某个特定大小和随机源初始化此参数生成器。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
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 对象,该对象取自第一个支持指定算法的 Provider。
注意,可以通过 Security.getProviders()
方法获取已注册提供者列表。
algorithm
- 与此参数生成器关联的算法的名称。有关标准算法名称的信息,请参阅
Java Cryptography Architecture API Specification & Reference 中的附录 A。
NoSuchAlgorithmException
- 如果没有 Provider 支持指定算法的 AlgorithmParameterGeneratorSpi 实现。
Provider
public static AlgorithmParameterGenerator getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
返回封装 AlgorithmParameterGeneratorSpi 实现的新 AlgorithmParameterGenerator 对象,该实现取自指定 Provider。指定提供者必须在安全提供者列表中注册。
注意,可以通过 Security.getProviders()
方法获取已注册提供者列表。
algorithm
- 与此参数生成器关联的算法的名称。有关标准算法名称的信息,请参阅
Java Cryptography Architecture API Specification & Reference 中的附录 A。
provider
- Provider 的字符串名称。
NoSuchAlgorithmException
- 如果指定算法的 AlgorithmParameterGeneratorSpi 实现不能从指定 Provider 获得。
NoSuchProviderException
- 如果指定提供者未在安全提供者列表中注册。
IllegalArgumentException
- 如果提供者的名称为 null 或空。
Provider
public static AlgorithmParameterGenerator getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
返回封装 AlgorithmParameterGeneratorSpi 实现的新 AlgorithmParameterGenerator 对象,该实现取自指定 Provider 对象。注意,指定 Provider 对象无需在提供者列表中注册。
algorithm
- 与此参数生成器关联的算法的字符串名称。有关标准算法名称的信息,请参阅
Java Cryptography Architecture API Specification & Reference 中的附录 A。
provider
- Provider 对象。
NoSuchAlgorithmException
- 如果指定算法的 AlgorithmParameterGeneratorSpi 实现不能从指定 Provider 对象获得。
IllegalArgumentException
- 如果指定 provider 为 null。
Provider
public final Provider getProvider()
public final void init(int size)
SecureRandom
实现用作随机源。(如果任何安装的提供者都不提供
SecureRandom
的实现,则使用系统提供的随机源。)
size
- 大小(位数)。
public final void init(int size, SecureRandom random)
size
- 大小(位数)。
random
- 随机源。
public final void init(AlgorithmParameterSpec genParamSpec) throws InvalidAlgorithmParameterException
SecureRandom
实现用作随机源。(如果任何安装的提供者都不提供
SecureRandom
的实现,则使用系统提供的随机源。)
genParamSpec
- 特定于算法的参数生成值的集合。
InvalidAlgorithmParameterException
- 如果给定的参数生成值不适合此参数生成器。
public final void init(AlgorithmParameterSpec genParamSpec, SecureRandom random) throws InvalidAlgorithmParameterException
genParamSpec
- 特定于算法的参数生成值的集合。
random
- 随机源。
InvalidAlgorithmParameterException
- 如果给定的参数生成值不适合此参数生成器。
public final AlgorithmParameters generateParameters()