Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lzh-1.8-crypt-spring-boot-starter

一个基于 Spring Boot 的加密工具 starter,提供 AES 和 RSA 加密算法的封装,简化加密和解密操作。

功能特性

  • AES 加密/解密:支持多种 AES 算法模式(如 CBC、GCM 等)。
  • RSA 密钥生成、加密、解密、签名与验签:支持灵活的 RSA 操作。
  • 工具类封装:提供 AESUtilsRSAUtils 工具类,简化使用流程。
  • 异常处理:统一的异常封装,便于错误追踪和处理。

模块结构

  • AES 加密相关

    • AESKeyPair:AES 密钥管理。
    • AESAdvancedKeyPair:支持更复杂 AES 模式的密钥管理。
    • AESUtils:提供 AES 加密/解密的静态方法。
    • AesAlgorithmEnum:定义 AES 算法类型。
  • RSA 加密相关

    • RSAKeyPair:管理 RSA 公钥和私钥,并提供加密、解密、签名和验签功能。
    • RSAPrivateKeyPair:封装 RSA 私钥操作。
    • RSAPublicKeyPair:封装 RSA 公钥操作。
    • RSAUtils:提供 RSA 操作的静态方法。
    • RsaAlgorithmEnumSignAlgorithmEnum:定义 RSA 和签名算法类型。
  • 异常处理

    • CryptException:基础加密异常类。
    • AESExceptionRSAException:分别封装 AES 和 RSA 操作中的异常。
    • ErrorCode:定义错误码枚举。

使用说明

1. 引入依赖

将本项目作为依赖引入你的 Spring Boot 项目中。

2. AES 加密/解密示例

// 生成 AES 密钥
String key = AESUtils.genericKey();

// 加密
String encrypted = AESUtils.encrypt(AesAlgorithmEnum.AES_128_CBC, "Hello, World!", key);

// 解密
String decrypted = AESUtils.decrypt(AesAlgorithmEnum.AES_128_CBC, encrypted, key);

3. RSA 密钥生成与加解密示例

// 生成 RSA 密钥对
RSAKeyPair keyPair = RSAUtils.createRSAKeyPair();

// 使用公钥加密
String encrypted = RSAUtils.encrypt(keyPair, "Secret Data");

// 使用私钥解密
String decrypted = RSAUtils.decrypt(keyPair, encrypted);

4. 签名与验签

// 签名
String signature = RSAUtils.sign(keyPair, "Data to sign");

// 验签
boolean isValid = RSAUtils.verify(keyPair, "Data to sign", signature);

异常处理

所有加密操作均抛出 CryptException 或其子类(如 AESExceptionRSAException),可捕获并处理异常信息。

许可证

本项目遵循 MIT 许可证。详情请查看 LICENSE 文件。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages