CheckingEntityListener.java 文件源码

java
阅读 40 收藏 0 点赞 0 评论 0

项目:os 作者:
@PrePersist
@PreUpdate
public void encode(Object target) {
    AnnotationCheckingMetadata metadata = AnnotationCheckingMetadata.getMetadata(target.getClass());
    if (metadata.isCheckable()) {
        StringBuilder sb = new StringBuilder();
        for (Field field : metadata.getCheckedFields()) {
            ReflectionUtils.makeAccessible(field);
            Object value = ReflectionUtils.getField(field, target);
            if (value instanceof Date) {
                throw new RuntimeException("不支持时间类型字段加密!");
            }
            sb.append(value).append(" - ");
        }
        sb.append(MD5_KEY);
        LOGGER.debug("加密数据:" + sb);
        String hex = MD5Utils.encode(sb.toString());
        Field checksumField = metadata.getCheckableField();
        ReflectionUtils.makeAccessible(checksumField);
        ReflectionUtils.setField(checksumField, target, hex);
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号