| | |
| | | package com.panzhihua.common.model.helper.encrypt; |
| | | |
| | | import com.panzhihua.common.model.helper.AESUtil; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.lang.annotation.Annotation; |
| | | import java.lang.reflect.Field; |
| | | |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import com.panzhihua.common.model.helper.AESUtil; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | /*** |
| | | * 默认实现: AES 128 加密、解密 |
| | | * 可自定义实现{@link IEncryptDecrypt }接口 |
| | | * 默认实现: AES 128 加密、解密 可自定义实现{@link IEncryptDecrypt }接口 |
| | | * |
| | | * @author cedoo |
| | | * @since 2021-4-1 10:40:52 |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class DoEncrytDecrypt implements IEncryptDecrypt{ |
| | | public class DoEncrytDecrypt implements IEncryptDecrypt { |
| | | |
| | | @Value("${domain.aesKey:}") |
| | | private String aesKey; |
| | |
| | | if (field.getType() == String.class) { |
| | | field.setAccessible(true); |
| | | for (Annotation annotation : field.getAnnotations()) { |
| | | if (annotation.annotationType() == EncryptDecryptField.class || annotation.annotationType() == EncryptQuery.class) { |
| | | if (annotation.annotationType() == EncryptDecryptField.class |
| | | || annotation.annotationType() == EncryptQuery.class) { |
| | | log.debug("加密字段:" + field.getName()); |
| | | Object fieldVal = field.get(parameterObject); |
| | | if(fieldVal!=null) { |
| | | if (fieldVal != null) { |
| | | try { |
| | | String encryptedStr = AESUtil.encrypt128(fieldVal.toString(), aesKey); |
| | | field.set(parameterObject, encryptedStr); |
| | | }catch (Exception e){ |
| | | } catch (Exception e) { |
| | | log.debug("加密失败"); |
| | | } |
| | | } |
| | |
| | | try { |
| | | String decryptVal = AESUtil.decrypt128(fieldVal, aesKey); |
| | | field.set(result, decryptVal != null ? decryptVal : fieldVal); |
| | | }catch (Exception e){ |
| | | } catch (Exception e) { |
| | | /** |
| | | * 兼容原始未加密数据 |
| | | */ |