All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.ideaaedi.mybatis.data.security.support.EncryptExecutor Maven / Gradle / Ivy

There is a newer version: 1.4.3-mp3.5.1
Show newest version
package com.ideaaedi.mybatis.data.security.support;

import com.ideaaedi.mybatis.data.security.annotation.Encrypt;
import org.springframework.lang.NonNull;

/**
 * 加解密执行器
 * 

* 说明: *

    *
  • 1. @Encrypt注解可运用于ElementType.FIELD和ElementType.PARAMETER, 所以这里加解密又分为两种情况
  • *
  • 2. @Encrypt运用于ElementType.PARAMETER时,只涉及加密,不涉及解密
  • *
  • 3. @Encrypt只能作用于String类型的变量或字段上,所以加解密都是针对字符串的
  • *
*

* * @author JustryDeng * @since 2021/2/10 22:42:22 */ public interface EncryptExecutor { /** * 加密 * * @param paramName * 参数前@Param指定的名称(,一定不为null) * @param paramValue * 待加密的字段值(,一定不为null) * @param annotation * 加密注解信息(,一定不为null) * @return 加密后的数据 */ String encryptParameter(@NonNull String paramName, @NonNull String paramValue, @NonNull Encrypt annotation); /** * 加密 * * @param fieldName * 待加密的字段的字段名(,一定不为null) * @param fieldValue * 待加密的字段的字段值(,一定不为null) * @param annotation * 加密注解信息(,一定不为null) * @param pojo * 字段所在的当前对象(,一定不为null) * @return 加密后的数据 */ String encryptField(@NonNull String fieldName, @NonNull String fieldValue, Encrypt annotation, @NonNull Object pojo); /** * 解密 * * @param fieldName * 待解密字段的字段名称(,一定不为null) * @param fieldValue * 待解密字段的值(,一定不为null) * @param annotation * 解密注解信息(,一定不为null) * @param pojo * fieldValue对应所处的对象(,一定不为null) * @return 解密后的数据 */ String decryptField(@NonNull String fieldName, @NonNull String fieldValue, @NonNull Encrypt annotation, @NonNull Object pojo); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy