From 62d7ad4bf8cc0acf8f8481ac77623834675e8409 Mon Sep 17 00:00:00 2001 From: Jesse-Ma <24167796@qq.com> Date: Tue, 13 Dec 2022 16:23:54 +0800 Subject: [PATCH] encript --- .../note/service/NoteServiceImpl.java | 19 +++++++++-------- .../com/flagnote/note/utils/SecretUtils.java | 21 +++++++++++++++++++ 2 files changed, 31 insertions(+), 9 deletions(-) create mode 100644 src/main/java/com/flagnote/note/utils/SecretUtils.java diff --git a/src/main/java/com/flagnote/note/service/NoteServiceImpl.java b/src/main/java/com/flagnote/note/service/NoteServiceImpl.java index b8e625f..5584f82 100644 --- a/src/main/java/com/flagnote/note/service/NoteServiceImpl.java +++ b/src/main/java/com/flagnote/note/service/NoteServiceImpl.java @@ -8,6 +8,7 @@ import org.springframework.stereotype.Service; import com.flagnote.note.entity.Note; import com.flagnote.note.repository.NoteMongoRepository; import com.flagnote.note.utils.BizKeyUtils; +import com.flagnote.note.utils.SecretUtils; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ArrayUtil; @@ -20,9 +21,9 @@ public class NoteServiceImpl implements NoteService { @Override public Note getNote(String key) { - + String mixKey = BizKeyUtils.mixKey(key); - + Note note = noteMongoRepository.findById(mixKey).orElse(null); if (null == note) { @@ -40,8 +41,8 @@ public class NoteServiceImpl implements NoteService { return note; } + note.setTextBytes(SecretUtils.decodeNote(note.getTextBytes())); return note; - } @Override @@ -50,13 +51,14 @@ public class NoteServiceImpl implements NoteService { note.setId(mixKey); note.setKey(mixKey); - - + note.setExpireTime(DateUtil.offsetHour(note.getPushTime(), 1)); note.setRetentionTime(DateUtil.offsetSecond(note.getPushTime(), 400 * 3600)); - + note.setState(1); + note.setTextBytes(SecretUtils.encodeNote(note.getTextBytes())); + noteMongoRepository.save(note); } @@ -64,12 +66,11 @@ public class NoteServiceImpl implements NoteService { public void deleteNote(String key) { String mixKey = BizKeyUtils.mixKey(key); Note note = noteMongoRepository.findById(mixKey).orElse(null); - - if(null!=note && ArrayUtil.isNotEmpty(note.getTextBytes())) { + + if (null != note && ArrayUtil.isNotEmpty(note.getTextBytes())) { note.setState(0); note.setTextBytes(null); noteMongoRepository.save(note); } } - } diff --git a/src/main/java/com/flagnote/note/utils/SecretUtils.java b/src/main/java/com/flagnote/note/utils/SecretUtils.java new file mode 100644 index 0000000..6aa2cad --- /dev/null +++ b/src/main/java/com/flagnote/note/utils/SecretUtils.java @@ -0,0 +1,21 @@ +package com.flagnote.note.utils; + +import javax.crypto.spec.SecretKeySpec; + +import cn.hutool.crypto.Mode; +import cn.hutool.crypto.Padding; +import cn.hutool.crypto.symmetric.AES; + +public class SecretUtils { + + private static AES aes = new AES(Mode.ECB, Padding.ZeroPadding, + new SecretKeySpec("b9t3pzbmybc66cba".getBytes(), "AES")); + + public static byte[] encodeNote(byte[] text) { + return aes.encrypt(text); + } + + public static byte[] decodeNote(byte[] text) { + return aes.decrypt(text); + } +}