如您所知,akavache 在 iOS 和 Android 上的安全存储存在问题。我正在尝试覆盖 Akavache 使用的安全存储。
我一直在按照肯特给出的例子来解决这个问题: http: //kent-boogaart.com/blog/password-protected-encryption-provider-for-akavache
注意:我不能System.Security.Cryptography
在我的代码中使用,因为我们使用的是PCL 的. 因此我正在使用PCLCrypto
.
我使用设置类来初始化 DI:
IPasswordProtectedEncryptionProvider providerInstance = new PasswordProtectedEncryptionProvider();
providerInstance.SetPassword("test");
Splat.Locator.CurrentMutable.Register(() => providerInstance, typeof(Akavache.IEncryptionProvider));
Container.RegisterSingleton<ICache>(new CacheManager());
我PasswordProtectedEncryptionProvider
用作我的自定义覆盖IEncryptionProvider
。但是,在类中重写的方法DecryptBlock
EncryptBlock
,不会被调用!
不明白为什么它没有被调用。
不() => providerInstance
覆盖它吗?