sql >> Database teknologi >  >> RDS >> Mysql

Brug BLOB eller VARBINARY til krypterede data i MySQL?

Både BLOB og VARBINARY er "streng" datatyper, der lagrer binære strenge (effektivt byte-arrays), i modsætning til de sædvanlige strengtyper, som gemmer tegn strenge, med tegnsætkodning osv.

I de fleste henseender kan du betragte en BLOB-kolonne som en VARBINARY-kolonne, der kan være lige så stor, som du vil.

BLOB adskiller sig fra VARBINARY på følgende måder:

  • Der er ingen fjernelse af mellemrum for BLOB-kolonner, når værdier gemmes eller hentes.
  • For indekser på BLOB-kolonner skal du angive en indekspræfikslængde.
  • BLOB-kolonner kan ikke have DEFAULT-værdier.

Brug BLOB , fordi hvis dine krypterede værdier tilfældigvis ender i en space byte (hex 20), ville den blive afkortet med VARBINARY, hvilket effektivt ødelægger din værdi. Du vil heller ikke sætte et indeks på den krypterede værdi, så indeksproblemet er ligegyldigt, og du vil heller ikke have en standardværdi.



  1. Installation af pg -v 0.17.1

  2. MySQL - UPDATE-forespørgsel baseret på SELECT-forespørgsel

  3. Samme applikation, forskellige databaser:Entity framework 6.X + MySQL + SQL Server

  4. Brug Oracle til at kombinere tre tabeller til én med PIVOT