/** * 编码 * * @param value * @param ac * @return */ private String encodeValue(String value, AttributeConfigDO ac) { if (StringUtils.isEmpty(value)) { return value; } if (ac.isEncrypt()) { value = BlowfishUtils.encryptBlowfish(value, CRYPT_KEY); } try { value = URLEncoder.encode(value, "UTF-8"); } catch (Exception e) { log.error("编码失败, value=" + value, e); // 编码失败时,返回错误标记,且不保存到cookies中 return ERROR; } return value; }
/** * 解码 * * @param value * @param ac * @return */ private String decodeValue(String value, AttributeConfigDO ac) { if (value == null) { return value; } try { value = URLDecoder.decode(value, "UTF-8"); } catch (Exception e) { // logger.error("解码失败", e); // 解码失败时直接返回,不继续解析 return value; } if (ac.isEncrypt()) { value = BlowfishUtils.decryptBlowfish(value, CRYPT_KEY); } return value; }