public static String desensitizeSingleKeyword(final boolean desensitized, final String keyWord, final String source,
                                           final KeyWordMatch keyWordMatch, final String desensitizedAlg) {
        if (StringUtils.hasLength(source) && desensitized && keyWordMatch.matches(keyWord)) {
            return DataDesensitizeFactory.selectDesensitize(source, desensitizedAlg);
        } else {
            return source;
        }
    }
@Test
    public void desensitizeSingleKeywordTest() {
        String noDesensitizedData = DataDesensitizeUtils.desensitizeSingleKeyword(false, "name", JSON_TEXT, keyWordMatch,
                DataDesensitizeEnum.MD5_ENCRYPT.getDataDesensitizeAlg());
        Assertions.assertEquals(JSON_TEXT, noDesensitizedData);

        String desensitizedData = DataDesensitizeUtils.desensitizeSingleKeyword(true, "name", JSON_TEXT, keyWordMatch,
                DataDesensitizeEnum.MD5_ENCRYPT.getDataDesensitizeAlg());
        Assertions.assertEquals(DigestUtils.md5Hex(JSON_TEXT), desensitizedData);
    }