あなたが知っているように、akavacheはiOSとAndroid上の安全なストレージに問題があります。 私はAkavacheで使用される安全なストレージを無効にしようとしています。Akavacheセキュリティオーバーライドが機能しない
私はこの問題を解決するためにケントによって与えられた例を以下してきた: http://kent-boogaart.com/blog/password-protected-encryption-provider-for-akavache
注:私たちはPCLのを使用しているので、私は、私のコードでSystem.Security.Cryptography
を使用することはできません。したがって、私はPCLCrypto
を使用しています。
私はDIを初期化するために、セットアップクラスを使用します。私はIEncryptionProvider
の私のカスタムオーバーライドとしてPasswordProtectedEncryptionProvider
を使用
IPasswordProtectedEncryptionProvider providerInstance = new PasswordProtectedEncryptionProvider();
providerInstance.SetPassword("test");
Splat.Locator.CurrentMutable.Register(() => providerInstance, typeof(Akavache.IEncryptionProvider));
Container.RegisterSingleton<ICache>(new CacheManager());
。ただし、クラスでオーバーライドされたメソッドDecryptBlock
EncryptBlock
は呼び出されません!
なぜ呼び出されていないのか分かりません。
() => providerInstance
は無効にしますか?
返信いただきありがとうございます@rdavisau。 LIFOの問題について言及したとき、あなたは私を最終的な解決に導きます。特定の問題を解決する方法をあなたの答えに変更しました。 – cfl