Module java.base
Package javax.crypto

Class KeyGeneratorSpi

java.lang.Object
javax.crypto.KeyGeneratorSpi

public abstract class KeyGeneratorSpi extends Object
这个类为KeyGenerator类定义了服务提供者接口SPI)。该类中的所有抽象方法必须由每个加密服务提供者实现,希望为特定算法提供密钥生成器的实现。

如果客户端没有显式初始化KeyGenerator(通过调用init方法),则每个提供者必须提供(并记录)一个默认初始化。有关JDK提供者使用的KeyGenerator默认值,请参阅JDK提供者文档中的Keysize Restriction部分。但是,请注意,不同提供者之间的默认值可能会有所不同。此外,提供者的默认值可能会在将来的版本中更改。因此,建议显式初始化KeyGenerator,而不是依赖于特定提供者的默认值。

自 JDK 版本:
1.4
参见:
  • Constructor Details

    • KeyGeneratorSpi

      public KeyGeneratorSpi()
      子类调用的构造函数。
  • Method Details

    • engineInit

      protected abstract void engineInit(SecureRandom random)
      初始化密钥生成器。
      参数:
      random - 用于此生成器的随机源
    • engineInit

      protected abstract void engineInit(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException
      使用指定的参数集和用户提供的随机源初始化密钥生成器。
      参数:
      params - 密钥生成参数
      random - 用于此密钥生成器的随机源
      抛出:
      InvalidAlgorithmParameterException - 如果params不适用于此密钥生成器
    • engineInit

      protected abstract void engineInit(int keysize, SecureRandom random)
      使用给定的随机源为特定的密钥大小初始化此密钥生成器。
      参数:
      keysize - 密钥大小。这是一个特定于算法的度量标准,以位数表示。
      random - 用于此密钥生成器的随机源
      抛出:
      InvalidParameterException - 如果密钥大小错误或不受支持。
    • engineGenerateKey

      protected abstract SecretKey engineGenerateKey()
      生成一个秘密密钥。
      返回:
      新密钥