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
- Inicie sesión o regístrese para enviar comentarios
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