[guardian-dev] Storing blobs over 1MB in SQLite?

Hans-Christoph Steiner hans at guardianproject.info
Tue Feb 23 12:46:46 EST 2016

Nathan of Guardian:
> On Tue, Feb 23, 2016, at 10:14 AM, Dominik Schuermann wrote:
>> Is there a way in general to store blobs over 1MB inside Android's
>> default SQLite? At OpenKeychain we reached that limit, and I don't like
>> to redesign everything just because of this corner case:
>> https://github.com/open-keychain/open-keychain/issues/1714
>> I am open for suggestions :) Maybe you guys have an idea, how is this
>> done in IOCipher?
> IOCipher does this automatically. It was the reason we developed it - to
> securely store large media files for apps like CameraV and Courier. It
> works well enough that you can stream into it, which we do for recording
> or playing back video and audio.
> Hans made the brilliant discovery of Libsqlfs:
> https://github.com/guardianproject/libsqlfs
> that was originally built for Palm OS.
> IOCipher = SQLCipher + Libsqlfs + a java.io.File-style API.
> +n

sqlfs works like many filesystems and stores files in blocks.  In
IOCipher, an 8192 byte block size is used.  So SQLite only ever sees
8192 byte binary blobs.


PGP fingerprint: EE66 20C7 136B 0D2C 456C  0A4D E9E2 8DEA 00AA 5556

More information about the guardian-dev mailing list