Java KeyGenerator

时间:2020-01-09 10:35:54  来源:igfitidea点击:

Java KeyGenerator类(javax.crypto.KeyGenerator)用于生成对称加密密钥。对称加密密钥是通过对称加密算法用于数据加密和解密的密钥。在此Java KeyGenerator教程中,我将向我们展示如何生成对称加密密钥。

创建KeyGenerator实例

必须先创建一个KeyGenerator实例,然后才能使用Java KeyGenerator类。通过调用静态方法getInstance()来创建KeyGenerator实例,该方法将要为其创建密钥的加密算法的名称作为参数传递。这是创建JavaKeyGenerator实例的示例:

KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");

本示例创建一个" KeyGenerator"实例,该实例可以为AES加密算法生成密钥。

初始化KeyGenerator

创建KeyGenerator实例后,我们必须对其进行初始化。初始化KeyGenerator实例是通过调用其init()方法完成的。这是初始化KeyGenerator实例的示例:

SecureRandom secureRandom = new SecureRandom();
int keyBitSize = 256;

keyGenerator.init(keyBitSize, secureRandom);

KeyGenerator init()方法采用两个参数:要生成的密钥的位大小,以及在密钥生成期间使用的" SecureRandom"。

生成密钥

一旦Java KeyGenerator实例被初始化,我们就可以使用它来生成密钥。生成密钥是通过调用KeyGenerator generateKey()方法来完成的。这是生成对称密钥的示例:

SecretKey secretKey = keyGenerator.generateKey();