java_fortify Scan:
问题:
1.Weak Encryption
2.Weak Encryption: Insecure Mode of Operation
问题解释:
问题1.程序使用了弱加密算法,无法保证敏感数据的保密性。
问题2.使用某加密方式的某不安全加密模式,例如:AES的ECB模式不安全
注:本人使用了DES加密导致的问题1,使用了AES的ECB模式导致出现问题2
解决方案:
使用某安全加密方式的某种安全加密模式,例如:AES的GCM模式
使用AES的GCM模式工具类(JDK1.8):
package com.test.common.util;
import javax.crypto.*;
import javax.crypto.spec.GCMParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import java.security.*;
import java.util.Base64;
/**
*
* AES加密工具类(GCM模式)
*/
public class AesUtils {
private static final String ALGORITHM = "AES";
private static final String AES_GCM_PADDING = "AES/GCM/NoPadding";
/**
* Base64 加密
*
* @param plainBytes
* @return
*/
public static byte[] encodeByBase64(byte[] plainBytes) {
if (plainBytes == null) {
return null;
}
return Base64.getEncoder(