KeyGenerators类为构造不同类型的密钥生成器提供了许多方便的工厂方法。使用这个类,您可以创建一个字节密钥生成器来生成字节[]密钥。您还可以构造一个StringKeyGenerator来生成字符串键。密钥生成器是线程安全的。
35.3.1 BytesKeyGenerator
使用 KeyGenerators.secureRandom工厂方法生成由安全域SecureRandom 实例支持的字节密钥生成器BytesKeyGenerator :
1 BytesKeyGenerator generator = KeyGenerators.secureRandom(); 2 byte[] key = generator.generateKey();
默认密钥长度为8字节。还有一个KeyGenerators.secureRandom变体,它提供对密钥长度的控制:
1 KeyGenerators.secureRandom(16);
使用KeyGenerators.shared工厂方法构造一个BytesKeyGenerator,它总是在每次调用时返回相同的键:
1 KeyGenerators.shared(16);
35.3.2 StringKeyGenerator
使用KeyGenerators.string工厂方法构造一个8字节的安全数字密钥生成器,将每个密钥以字符串形式进行十六进制编码:
1 KeyGenerators.string();