Class SQLiteEncryptedBlobCache
A SQLite blob cache where all the entries are encrypted.
public class SQLiteEncryptedBlobCache : SqlRawPersistentBlobCache, IEnableLogger, IObjectBulkBlobCache, IObjectBlobCache, IBulkBlobCache, ISecureBlobCache, IBlobCache, IDisposable
- Inheritance
-
SQLite
Encrypted Blob Cache
- Implements
- Inherited Members
- Extension Methods
Constructors
SQLiteEncryptedBlobCache(string, IEncryptionProvider?, IScheduler?)
Initializes a new instance of the SQLite
public SQLiteEncryptedBlobCache(string databaseFile, IEncryptionProvider? encryptionProvider = null, IScheduler? scheduler = null)
Parameters
databaseFile
stringThe location of the database.
encryptionProvider
IEncryptionProvider The provider which encrypts and decrypts values.
scheduler
ISchedulerA scheduler to perform the operations on.
Exceptions
- Exception
If there is no encryption provider available.
Methods
AfterReadFromDiskFilter(byte[], IScheduler)
This method is called immediately after reading any data to disk. Override this in encrypting data stores in order to decrypt the data.
Parameters
data
byte[]The byte data that has just been read from disk.
scheduler
ISchedulerThe scheduler to use if an operation has to be deferred. If the operation can be done immediately, use Observable.Return and ignore this parameter.
Returns
- IObservable<byte[]>
A Future result representing the decrypted data.
BeforeWriteToDiskFilter(byte[], IScheduler)
This method is called immediately before writing any data to disk. Override this in encrypting data stores in order to encrypt the data.
Parameters
data
byte[]The byte data about to be written to disk.
scheduler
ISchedulerThe scheduler to use if an operation has to be deferred. If the operation can be done immediately, use Observable.Return and ignore this parameter.
Returns
- IObservable<byte[]>
A Future result representing the encrypted data.