sql >> Base de Datos >  >> RDS >> Mysql

¿Usar BLOB o VARBINARY para datos cifrados en MySQL?

Tanto BLOB como VARBINARY son tipos de datos de "cadena", que almacenan binario cadenas (efectivamente matrices de bytes), a diferencia de los tipos de cadena habituales, que almacenan carácter cadenas, con codificación de juegos de caracteres, etc.

En la mayoría de los aspectos, puede considerar una columna BLOB como una columna VARBINARY que puede ser tan grande como desee.

BLOB se diferencia de VARBINARY en los siguientes aspectos:

  • No se eliminan los espacios finales para las columnas BLOB cuando se almacenan o recuperan valores.
  • Para índices en columnas BLOB, debe especificar una longitud de prefijo de índice.
  • Las columnas BLOB no pueden tener valores POR DEFECTO.

Usar BLOB , porque si sus valores encriptados terminan en un byte de espacio (hexadecimal 20), se truncaría con VARBINARY, corrompiendo efectivamente su valor. Además, no colocará un índice en el valor cifrado, por lo que el problema del índice no importa, ni tendrá un valor predeterminado.