java.lang.Object
javax.crypto.KeyGeneratorSpi
这个类为
KeyGenerator
类定义了服务提供者接口(SPI)。该类中的所有抽象方法必须由每个加密服务提供者实现,希望为特定算法提供密钥生成器的实现。
如果客户端没有显式初始化KeyGenerator(通过调用init
方法),则每个提供者必须提供(并记录)一个默认初始化。有关JDK提供者使用的KeyGenerator默认值,请参阅JDK提供者文档中的Keysize Restriction部分。但是,请注意,不同提供者之间的默认值可能会有所不同。此外,提供者的默认值可能会在将来的版本中更改。因此,建议显式初始化KeyGenerator,而不是依赖于特定提供者的默认值。
- 自 JDK 版本:
- 1.4
- 参见:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected abstract SecretKey
生成一个秘密密钥。protected abstract void
engineInit
(int keysize, SecureRandom random) 使用给定的随机源为特定的密钥大小初始化此密钥生成器。protected abstract void
engineInit
(SecureRandom random) 初始化密钥生成器。protected abstract void
engineInit
(AlgorithmParameterSpec params, SecureRandom random) 使用指定的参数集和用户提供的随机源初始化密钥生成器。
-
Constructor Details
-
KeyGeneratorSpi
public KeyGeneratorSpi()子类调用的构造函数。
-
-
Method Details
-
engineInit
初始化密钥生成器。- 参数:
-
random
- 用于此生成器的随机源
-
engineInit
protected abstract void engineInit(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException 使用指定的参数集和用户提供的随机源初始化密钥生成器。- 参数:
-
params
- 密钥生成参数 -
random
- 用于此密钥生成器的随机源 - 抛出:
-
InvalidAlgorithmParameterException
- 如果params
不适用于此密钥生成器
-
engineInit
使用给定的随机源为特定的密钥大小初始化此密钥生成器。- 参数:
-
keysize
- 密钥大小。这是一个特定于算法的度量标准,以位数表示。 -
random
- 用于此密钥生成器的随机源 - 抛出:
-
InvalidParameterException
- 如果密钥大小错误或不受支持。
-
engineGenerateKey
生成一个秘密密钥。- 返回:
- 新密钥
-