Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class CipherEntityListener {
- @PrePersist @PreUpdate
- @SuppressWarnings("unchecked")
- public void cipherEntityUsingMD5(Object entity) throws Exception {
- CipherHelper cipherHelper = null;
- String privateKey = null;
- String recordData = null;
- StringBuffer sb = null;
- Class classType = null;
- Field[] fieldList = null;
- Object fieldValue = null;
- String sValue = null;
- boolean keyHasBeenSet = false;
- boolean dataHasBeenSet = false;
- try {
- sb = new StringBuffer();
- classType = entity.getClass();
- fieldList = classType.getDeclaredFields();
- for (Field field : fieldList) {
- field.setAccessible(true);
- fieldValue = field.get(entity);
- if (fieldValue != null) {
- sValue = fieldValue.toString();
- sb.append(sValue);
- }
- }
- cipherHelper = CipherHelper.getInstance();
- privateKey = cipherHelper.generatePrivateKey();
- recordData = cipherHelper.encryptDataUsingMD5(sb.toString(),
- privateKey);
- for (Field field : fieldList) {
- if (field.isAnnotationPresent(CipherKey.class)) {
- field.set(entity, privateKey);
- keyHasBeenSet = true;
- }
- if (field.isAnnotationPresent(CipherData.class)) {
- field.set(entity, recordData);
- dataHasBeenSet = true;
- }
- if (keyHasBeenSet && dataHasBeenSet) {
- break;
- }
- }
- } catch (Exception ex) {
- throw ex;
- }
- }
- }
Add Comment
Please, Sign In to add comment