package com.sunyard.chsm.controller; import com.sunyard.chsm.auth.AuthCode; import com.sunyard.chsm.constant.AuthCodeConst; import com.sunyard.chsm.model.R; import com.sunyard.chsm.param.SymDecryptReq; import com.sunyard.chsm.param.SymDecryptResp; import com.sunyard.chsm.param.SymEncryptReq; import com.sunyard.chsm.param.SymEncryptResp; import com.sunyard.chsm.param.SymHmacCheckReq; import com.sunyard.chsm.param.SymHmacReq; import com.sunyard.chsm.param.SymHmacResp; import com.sunyard.chsm.param.SymMacCheckReq; import com.sunyard.chsm.param.SymMacReq; import com.sunyard.chsm.param.SymMacResp; import com.sunyard.chsm.param.VerifyResp; import com.sunyard.chsm.service.SymKeyService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; /** * 对称运算类接口 * * @author liulu * @since 2024/12/17 */ @RestController @RequestMapping("/sym") public class SymKeyController { @Autowired private SymKeyService symKeyService; /** * 对称加密 * * @param req * @return */ @PostMapping("/encrypt") @AuthCode(AuthCodeConst.sym_enc) public R encrypt(@Valid @RequestBody SymEncryptReq req) { SymEncryptResp resp = symKeyService.encrypt(req); return R.data(resp); } /** * 对称解密 * * @param req * @return */ @PostMapping("/decrypt") @AuthCode(AuthCodeConst.sym_dec) public R decrypt(@Valid @RequestBody SymDecryptReq req) { SymDecryptResp resp = symKeyService.decrypt(req); return R.data(resp); } /** * 计算Hmac * * @param req * @return */ @PostMapping("/hmac") @AuthCode(AuthCodeConst.cal_hmac) public R hmac(@Valid @RequestBody SymHmacReq req) { SymHmacResp resp = symKeyService.hmac(req); return R.data(resp); } /** * 验证Hmac * * @param req * @return */ @PostMapping("/hmac/check") @AuthCode(AuthCodeConst.check_hmac) public R macCheck(@Valid @RequestBody SymHmacCheckReq req) { VerifyResp resp = symKeyService.hmacCheck(req); return R.data(resp); } /** * 计算Hmac * * @param req * @return */ @PostMapping("/mac") @AuthCode(AuthCodeConst.cal_mac) public R mac(@Valid @RequestBody SymMacReq req) { SymMacResp resp = symKeyService.mac(req); return R.data(resp); } /** * 验证Hmac * * @param req * @return */ @PostMapping("/mac/check") @AuthCode(AuthCodeConst.check_mac) public R macCheck(@Valid @RequestBody SymMacCheckReq req) { VerifyResp resp = symKeyService.macCheck(req); return R.data(resp); } }