这个类提供了一个秘密(对称)密钥生成器的功能。
密钥生成器使用这个类的一个getInstance类方法构造。
keygenerator对象是可重用的,即,在一个密钥已经产生,同样的keygenerator对象可以重新用于产生进一步的钥匙。
KeyGenerator getInstance(String algorithm)
参数
algorithm -请求的密钥算法的标准名称。看到有关标准算法名称信息在 Java Cryptography Architecture Standard Algorithm Name Documentation KeyGenerator节。
结果
新 KeyGenerator对象。
异常
NullPointerException -如果指定的算法是无效的。
NoSuchAlgorithmException -如果没有提供程序支持一个指定的算法keygeneratorspi实施。
方法:
- getAlgorithm();获得算法名称
- getInstance();通过指定算法,亦可指定提供者来构造KeyGenerator对象,有多个重载方法
- getProvider();返回此算法实现的提供商
- init(SecureRandom sRandoom);用于初始化KeyGenerator对象,通过随机源的方式
- init(int size);通过指定生成秘钥的大小,来初始化的方式
- init(AlgorithmParameterSpec params);通过指定参数集来初始化
- init(AlgorithmParameterSpec params,SecureRandom sRandoom);通过指定参数集和随机数源的方式生成
- init(int arg0, SecureRandom arg1);通过指定大小和随机源的方式产生
- generatorKey();生成秘钥 // 返回SecertKey对象
支持的算法有:
AES
ARCFOUR
Blowfish
DES
DESede
HmacMD5
HmacSHA1,HmacSHA256,HmacSHA384,HmacSHA512
RC2