1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/licoy-encrypt-body-spring-boot-starter

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 3.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 04:26 ffdaae2

Введение

Encrypt-body-spring-boot-starter — это способ обработки аннотаций, который обеспечивает унифицированное кодирование/шифрование тела ответа и декодирование/расшифровку тела запроса для контроллеров SpringBoot. Поддерживает MD5, SHA, AES, DES и RSA.

Поддержка кодирования/шифрования и расшифровки

  • Поддерживаемые способы кодирования/шифрования:
    • MD5;
    • SHA-1 / SHA-256;
    • AES;
    • DES;
    • RSA.
  • Поддерживаемые способы расшифровки:
    • AES;
    • DES;
    • RSA.

Регистрация

Импорт зависимостей В файле проекта pom.xml импортируйте зависимости:

<dependency>
    <groupId>cn.licoy</groupId>
    <artifactId>encrypt-body-spring-boot-starter</artifactId>
    <version>1.2.3</version>
</dependency>

Включение компонентов Добавьте аннотацию @EnableEncryptBody в класс Application, например:

@EnableEncryptBody
@SpringBootApplication
public class Application {
    
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

Конфигурация параметров Добавьте параметры конфигурации в файл application.yml или application.properties, например:

encrypt:  
    body:
      aes-key: 12345678 #AES加密秘钥
      des-key: 12345678 #DES加密秘钥
      # more...

Использование

Применение ко всему контроллеру

@RestController
@EncryptBody
@RequestMapping("/test")
public class TestController {

    @GetMapping
    public String test(){
        return "hello world";
    }

}

Применение к отдельному запросу

@Controller
@RequestMapping("/test")
public class TestController {

    @GetMapping
    @ResponseBody
    @EncryptBody(value = EncryptBodyMethod.AES)
    public String test(){
        return "hello world";
    }

}

Применение к классу ответа

@Data
@EncryptBody
public class User implements Serializable {

    private String name;

    private String email;

    private Integer number;

    private String numberValue;

}

Применение к одному атрибуту класса

@Data
@EncryptBody
@FieldBody
public class User implements Serializable {

    private String name;

    @FieldBody
    @AESEncryptBody(key = "1234567812345678")
    private String email;

    @FieldBody(field = "numberValue", clearValue = true)
    @DESEncryptBody(key = "1234567812345678")
    private Integer number;

    private String numberValue;

}

Обзор аннотаций

Лицензия Apache 2.0

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/licoy-encrypt-body-spring-boot-starter.git
git@api.gitlife.ru:oschina-mirror/licoy-encrypt-body-spring-boot-starter.git
oschina-mirror
licoy-encrypt-body-spring-boot-starter
licoy-encrypt-body-spring-boot-starter
master