java_fortify Scan:
问题:
1.Key Management: Hardcoded Encryption Key
问题解释:
问题1.秘钥使用硬编码方式。
解决方案:
使用Keystore生成存储AES密钥文件
使用Keystore生成存储AES密钥文件工具类(JDK1.8):
package com.study.util;
import com.study.common.Consts;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.security.*;
import java.security.cert.CertificateException;
/**
* keystore生成存储AES密钥文件
*
*/
public class KeyStoreUtils {
/**
* 功能:把秘钥保存到秘钥库文件中
* @param key 秘钥
* @param alias 别名
* @param pdKey 秘钥密码
* @param pdKeyStore 秘钥库密码
* @param ksFileName 秘钥库文件名称
*/
private static void initKeyStore(Key key,String alias,String pdKey,String pdKeyStore,String ksFileName) throws KeyStoreException, CertificateException, NoSuchAlgorithmException, IOException {
KeyStore keyStore = KeyStore.getInstance("JCEKS");
keyStore.load(null, nu

本文介绍了解决Java中硬编码加密密钥问题的方法,通过Keystore工具类来生成并存储AES密钥文件,确保秘钥的安全管理。提供了一个KeyStoreUtils类的代码示例,用于秘钥的保存和读取操作。
最低0.47元/天 解锁文章
5906





