DataManager Crypto

Idea

My idea is to read all fields, encrypt the field values and save it in store (Memory and SQLite)

Problems

1) CryptoBox needs byte[] data to encrypt[1]. We need to get byte[] of all types
2) CryptoBox#decrypt returns a byte[] and we need to convert it by field type
3) How does it work with nested objects?

Ugly code to set decrypted data by field type[2]

Solution/Proposal

What about serializing entity/model to json, encrypt it and save in Store?

If we decide on this, we will not be able to make queries / ReadWithFilter (I think).[3]

Any questions, thoughts or tomatoes before I move forward?

[1] https://github.com/aerogear/aerogear-crypto-java/blob/master/src/main/java/org/jboss/aerogear/crypto/CryptoBox.java#L86
[2] https://gist.github.com/danielpassos/31e024a8cfd6c64e151c
[3] http://aerogear-dev.1069024.n5.nabble.com/aerogear-dev-Querying-encrypted-data-td5068.html