LS,
Ik wil alle strings in mijn SQLite database encrypten. Daarvoor doe ik;
SELECT _id,name FROM MyTable
Daarna loop ik door het resultaat, en vervang de string met de versleutelde versie;
UPDATE MyTable SET name=' + encryptedname + ' WHERE _id=' & id
Zoals gebruikelijk bij het klussen moet je hierna schoonmaken, dus doe ik op het einde een;
VACUUM
Tot mijn stomme verbazing is de database geen 1300kb meer, maar ineens 1600kb. En ik snap niet hoe dat kan!, de versluetelde strings zijn precies even lang als de originele. Ik snap ook heel goed dat compressie altijd moet doen voordat je data versleuteld, maar dat is hier niet aan de orde, het word ongecomprimeerd opgeslagen. Als ik het SQLite bestand open met een HEX editor, kan ik gewoon de text lezen.
Mijn vragen;
-Moet ik naast VACUUM nog een iets doen om de boel op te schonen?
-Waar komt die extra 300kb vandaan?
Ik wil alle strings in mijn SQLite database encrypten. Daarvoor doe ik;
SELECT _id,name FROM MyTable
Daarna loop ik door het resultaat, en vervang de string met de versleutelde versie;
UPDATE MyTable SET name=' + encryptedname + ' WHERE _id=' & id
Zoals gebruikelijk bij het klussen moet je hierna schoonmaken, dus doe ik op het einde een;
VACUUM
Tot mijn stomme verbazing is de database geen 1300kb meer, maar ineens 1600kb. En ik snap niet hoe dat kan!, de versluetelde strings zijn precies even lang als de originele. Ik snap ook heel goed dat compressie altijd moet doen voordat je data versleuteld, maar dat is hier niet aan de orde, het word ongecomprimeerd opgeslagen. Als ik het SQLite bestand open met een HEX editor, kan ik gewoon de text lezen.
Mijn vragen;
-Moet ik naast VACUUM nog een iets doen om de boel op te schonen?
-Waar komt die extra 300kb vandaan?