public static String crypt(final CryptorRuleHandler ruleHandle, final List<Pair<String, String>> pairs, final String originalBody, final ServerWebExchange exchange) {
        List<Pair<String, String>> modifiedPairs = pairs.stream().map(pair -> Pair.of(pair.getLeft(), CryptorStrategyFactory.match(ruleHandle, pair.getRight())))
                .filter(pair -> StringUtils.isNoneBlank(pair.getRight()))
                .collect(Collectors.toList());

        if (CollectionUtils.isEmpty(modifiedPairs)) {
            throw Optional.ofNullable(ruleHandle.getWay())
                    .filter(CryptorStrategyFactory.DECRYPT::equals)
                    .map(data -> new ResponsiveException(ShenyuResultEnum.DECRYPTION_ERROR, exchange))
                    .orElse(new ResponsiveException(ShenyuResultEnum.ENCRYPTION_ERROR, exchange));
        }

        return MapTypeEnum.mapType(ruleHandle.getMapType()).map(originalBody, modifiedPairs);

    }
encrypt or decrypt the response body.
@param ruleHandle ruleHandle
@param pairs pairs
@param originalBody originalBody
@param exchange exchange
@return new body
shenyu-plugin/shenyu-plugin-security/shenyu-plugin-cryptor/src/main/java/org/apache/shenyu/plugin/cryptor/utils/CryptorUtil.java