EncryptedComplexSerializer.java 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. package eu.tankernn.accounts.util.encryption;
  2. import java.lang.reflect.Type;
  3. import com.google.gson.JsonDeserializationContext;
  4. import com.google.gson.JsonDeserializer;
  5. import com.google.gson.JsonElement;
  6. import com.google.gson.JsonObject;
  7. import com.google.gson.JsonParseException;
  8. import com.google.gson.JsonSerializationContext;
  9. import com.google.gson.JsonSerializer;
  10. public class EncryptedComplexSerializer
  11. implements JsonSerializer<EncryptedComplex>, JsonDeserializer<EncryptedComplex> {
  12. @Override
  13. public JsonElement serialize(EncryptedComplex src, Type typeOfSrc, JsonSerializationContext context) {
  14. JsonObject object = new JsonObject();
  15. object.addProperty("salt", src.getEncodedSalt());
  16. object.addProperty("IV", src.getEncodedIv());
  17. object.addProperty("data", src.getEncodedData());
  18. return object;
  19. }
  20. @Override
  21. public EncryptedComplex deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
  22. throws JsonParseException {
  23. JsonObject obj = json.getAsJsonObject();
  24. return new EncryptedComplex(obj.get("salt").getAsString(), obj.get("IV").getAsString(), obj.get("data").getAsString());
  25. }
  26. }