一、介绍
- 秘钥生成器,也就是根据算法类型随机生成一个秘钥,大部分用在单向加密、对称加密
二、示例
import javax.crypto.KeyGenerator;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
/**
* KeyGenerator
*
* @author kimi
* @date 2023/1/29
*/
public class KeyGeneratorUtils{
/** AES 算法 */
private static final String ALGORITHM_AES="AES";
/**
* 生成AES算法密钥
* @return
* @throws NoSuchAlgorithmException
*/
public static String generate() throws NoSuchAlgorithmException{
/**
* 创建KeyGenerator实例
* algorithm密钥算法
* AES
* DES
* DESede
* HmacSHA1
* HmacSHA224
* HmacSHA256
* HmacSHA384
* HmacSHA512
* RC2
*/
KeyGenerator keyGenerator = KeyGenerator.getInstance(ALGORITHM_AES);
//指定生成密钥的大小;AES密钥长度只能=128、192、256
keyGenerator.init(256);
//指定生成密钥随机源:keyGenerator.init(SecureRandom secureRandom)
//指定生成密钥大小、随机源:keyGenerator.init(int size, SecureRandom secureRandom)
/**
* 借助Base64转换生成的密钥
* 通常加密后要把密钥保存下来,解密时使用密钥重建SecertKey,生成的密钥是字节数组不利于保存,所以借助Base64转换成字符串
* jwU9T09QMJY8kMMgfxqE6DJhczLSGYjen0wlTOQeEOc=
*/
return Base64.getEncoder().encodeToString(keyGenerator.generateKey().getEncoded());
}
}
文章来源地址https://www.toymoban.com/news/detail-729095.html
文章来源:https://www.toymoban.com/news/detail-729095.html
到了这里,关于密钥生成器KeyGenerator的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!