Conversion de bytes

Hola, estoy trabajando conencripcion y quiero guardar los datos encriptados en una bd, el problema es que al encriptar obtengo un arreglo de bytes y si lo convierto a string y luego lo guardo, cuando lo quiero desencriptar tengo problemas, ya que lo convierto de string a bytes y me dice que los bloques deben ser de 16 bytes, que puedo hacer para poder guardarlo sin modificar el tamaño de los bloques?
aqui les dejo mi codigo
 

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

Base64

Lo mejor será que uses Base64. Es un algoritmo para codificar datos binarios como cadenas de texto simple. Cada 3 bytes de datos se convierten en 4 bytes de texto.

O bien puedes codificar a hexadecimal, simplemente armas una cadena con la representación hexadecimal de cada byte, todo seguido.

La diferencia es que la cadena hexadecimal siempre va a medir el doble de los datos que estás codificando, mientras que con base64 la cadena solamente es entre 25% y 30% más grande que los datos que codificaste.

Es un algoritmo estándar, pero no hay una implementación pública en Java, aunque puedes encontrar un codec para base64 en los paquetes privados de com.sun.util.* o algo así (pero no están garantizados que van a seguir sirviendo, por eso es más recomendable que hagas tu propia implementación que es bastante simple, o que utilices alguna que seguro en Apache Commons debe haber algo).

gracias

ok, mejor haré mi propia implementacion, gracias por tu respuesta :D