Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Use BLOB ou VARBINARY para dados criptografados no MySQL?


Ambos BLOB e VARBINARY são tipos de dados "string", que armazenam binary strings (efetivamente arrays de bytes), ao contrário dos tipos de string usuais, que armazenam caractere strings, com codificação de charset etc.

Na maioria dos aspectos, você pode considerar uma coluna BLOB como uma coluna VARBINARY que pode ser tão grande quanto você desejar.

BLOB difere de VARBINARY das seguintes maneiras:
  • Não há remoção de espaço à direita para colunas BLOB quando os valores são armazenados ou recuperados.
  • Para índices em colunas BLOB, você deve especificar um comprimento de prefixo de índice.
  • As colunas BLOB não podem ter valores DEFAULT.

Usar BLOB , porque se seus valores criptografados terminarem em um byte de espaço (hex 20), ele seria truncado com VARBINARY, corrompendo efetivamente seu valor. Além disso, você não colocará um índice no valor criptografado, portanto, o problema do índice não importa, nem você terá um valor padrão.