1
0
mirror of synced 2026-02-07 19:27:50 +08:00

优化敏感信息加密实现:使用encryptFields方法

Co-authored-by: binarywang <1343140+binarywang@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-01-19 03:54:44 +00:00
parent 773d10a50c
commit 1fce1abc74

View File

@@ -206,18 +206,13 @@ public class PayrollServiceImpl implements PayrollService {
@Override
public PayrollTransferBatchesResult payrollCardTransferBatches(PayrollTransferBatchesRequest request) throws WxPayException {
String url = String.format("%s/v3/payroll-card/transfer-batches", payService.getPayBaseUrl());
try {
// 对敏感信息进行加密
if (request.getTransferDetailList() != null && !request.getTransferDetailList().isEmpty()) {
for (PayrollTransferBatchesRequest.TransferDetail detail : request.getTransferDetailList()) {
if (StringUtils.isNotEmpty(detail.getUserName())) {
String userName = RsaCryptoUtil.encryptOAEP(detail.getUserName(), payService.getConfig().getVerifier().getValidCertificate());
detail.setUserName(userName);
}
// 对敏感信息进行加密
if (request.getTransferDetailList() != null && !request.getTransferDetailList().isEmpty()) {
for (PayrollTransferBatchesRequest.TransferDetail detail : request.getTransferDetailList()) {
if (StringUtils.isNotEmpty(detail.getUserName())) {
RsaCryptoUtil.encryptFields(detail, payService.getConfig().getVerifier().getValidCertificate());
}
}
} catch (IllegalBlockSizeException e) {
throw new RuntimeException("加密异常!", e);
}
String response = payService.postV3WithWechatpaySerial(url, GSON.toJson(request));
return GSON.fromJson(response, PayrollTransferBatchesResult.class);