非对称加解密

This commit is contained in:
liulu
2024-12-20 15:03:22 +08:00
parent 0ba56c7c25
commit 7fe6482983
23 changed files with 609 additions and 33 deletions
@@ -0,0 +1,89 @@
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.AsymDecryptReq;
import com.sunyard.chsm.param.AsymDecryptResp;
import com.sunyard.chsm.param.AsymEncryptReq;
import com.sunyard.chsm.param.AsymEncryptResp;
import com.sunyard.chsm.param.AsymSignRawReq;
import com.sunyard.chsm.param.AsymSignRawResp;
import com.sunyard.chsm.param.AsymVerifyRawReq;
import com.sunyard.chsm.param.VerifyResp;
import com.sunyard.chsm.service.AsymKeyService;
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/20
*/
@RestController
@RequestMapping("/asym")
public class AsymKeyController {
@Autowired
private AsymKeyService asymKeyService;
/**
* 非对称加密
*
* @param req
* @return
*/
@PostMapping("/encrypt")
@AuthCode(AuthCodeConst.asym_enc)
public R<AsymEncryptResp> encrypt(@Valid @RequestBody AsymEncryptReq req) {
AsymEncryptResp resp = asymKeyService.encrypt(req);
return R.data(resp);
}
/**
* 非对称解密
*
* @param req
* @return
*/
@PostMapping("/encrypt")
@AuthCode(AuthCodeConst.asym_enc)
public R<AsymDecryptResp> decrypt(@Valid @RequestBody AsymDecryptReq req) {
AsymDecryptResp resp = asymKeyService.decrypt(req);
return R.data(resp);
}
/**
* RAW签名
*
* @param req
* @return
*/
@PostMapping("/sign/raw")
@AuthCode(AuthCodeConst.sign_raw)
public R<AsymSignRawResp> signRaw(@Valid @RequestBody AsymSignRawReq req) {
AsymSignRawResp resp = asymKeyService.signRaw(req);
return R.data(resp);
}
/**
* RAW验签
*
* @param req
* @return
*/
@PostMapping("/verify/raw")
@AuthCode(AuthCodeConst.verify_raw)
public R<VerifyResp> verifyRaw(@Valid @RequestBody AsymVerifyRawReq req) {
VerifyResp resp = asymKeyService.verifyRaw(req);
return R.data(resp);
}
}
@@ -36,7 +36,9 @@ public class HashController {
@AuthCode(AuthCodeConst.cal_hash)
public R<HashResp> hash(@Valid @RequestBody HashReq req) {
byte[] bytes = CodecUtils.decodeBase64(req.getPlainData());
byte[] hash = sdfApiService.hash(bytes);
byte[] pubkey = CodecUtils.decodeBase64(req.getPubKey());
byte[] userId = CodecUtils.decodeBase64(req.getUserId());
byte[] hash = sdfApiService.hash(bytes, pubkey, userId);
HashResp resp = new HashResp();
resp.setHash(CodecUtils.encodeBase64(hash));
return R.data(resp);
@@ -8,13 +8,12 @@ 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.SymHmacCheckResp;
import com.sunyard.chsm.param.SymHmacReq;
import com.sunyard.chsm.param.SymHmacResp;
import com.sunyard.chsm.param.SymMacCheckReq;
import com.sunyard.chsm.param.SymMacCheckResp;
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;
@@ -84,8 +83,8 @@ public class SymKeyController {
*/
@PostMapping("/hmac/check")
@AuthCode(AuthCodeConst.check_hmac)
public R<SymHmacCheckResp> macCheck(@Valid @RequestBody SymHmacCheckReq req) {
SymHmacCheckResp resp = symKeyService.hmacCheck(req);
public R<VerifyResp> macCheck(@Valid @RequestBody SymHmacCheckReq req) {
VerifyResp resp = symKeyService.hmacCheck(req);
return R.data(resp);
}
@@ -110,8 +109,8 @@ public class SymKeyController {
*/
@PostMapping("/mac/check")
@AuthCode(AuthCodeConst.check_mac)
public R<SymMacCheckResp> macCheck(@Valid @RequestBody SymMacCheckReq req) {
SymMacCheckResp resp = symKeyService.macCheck(req);
public R<VerifyResp> macCheck(@Valid @RequestBody SymMacCheckReq req) {
VerifyResp resp = symKeyService.macCheck(req);
return R.data(resp);
}