为什么Long类型字段返回前端之前都要被IdUtil加密?
来源:2-4 基于SpringBoot初始化项目
洛奇2019
2023-05-28
/**
* Id自动加密的JSON序列化器
* 用于返回实体Long类型ID字段的自动序列化
*/
public class IdEncryptSerializer extends JsonSerializer<Long> {
/**
* Method that can be called to ask implementation to serialize
* values of type this serializer handles.
*
* @param value Value to serialize; can <b>not</b> be null.
* @param gen Generator used to output resulting Json content
* @param serializers Provider that can be used to get serializers for
* serializing Objects value contains, if any.
*/
@Override
public void serialize(Long value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
if (Objects.isNull(value)) {
gen.writeString(StringUtils.EMPTY);
} else {
gen.writeString(IdUtil.encrypt(value));
}
}
}没明白这个序列化器的用意,Long类型不加密会怎样?
写回答
1回答
-
因为这个涉及到数据的id 出于安全考虑 要做一次加密 而且 long 类型太长前端会做截断 综合原因 就在返回之前加密了
042023-08-17
相似问题