SecureStorage 類別

定義

提供簡單且安全的鍵值對儲存。

public static class SecureStorage
繼承
System.Object
SecureStorage

備註

每個平台都使用平台提供的原生 API 來安全儲存資料:

  • iOS:資料儲存在鑰匙鏈中。 關於 SecAccessible 的更多資訊請見: Security.SecAccessible
  • Android:加密金鑰儲存在 KeyStore,加密資料則存放在一個命名的共享偏好容器(PackageId.Xamarin.必備資料。
  • UWP:資料以 DataProtectionProvider 加密,並儲存在一個名為 ApplicationDataContainer(容器名稱為 ApplicationId.Xamarin)中。必備資料。

注意:在執行 API 23(6.0 Marshmallow)的 Android 裝置上,KeyStore 中沒有 AES。 作為最佳實務,此 API 會產生一對 RSA/ECB/PKCS7Padding 金鑰,儲存在 KeyStore(這是這些較低層級 API 唯一支援的 KeyStore 類型),用來包裝執行時產生的 AES 金鑰。 這個包裹金鑰會儲存在偏好設定中。

屬性

名稱 Description
DefaultAccessible

iOS:預設 SecAccessible 可用於所有 Get/Set KeyChain 呼叫。 預設值是 AfterFirstUnlock。

LegacyKeyHashFallback

當設定為 true 若找不到鍵/值對時,MD5 鍵雜湊值也會用來嘗試定位值。

方法

名稱 Description
GetAsync(String)

取得給定金鑰的解密值。

Remove(String)

移除該密鑰的加密金鑰/值對。

RemoveAll()

移除所有儲存的加密金鑰/值對。

SetAsync(String, String, SecAccessible)

儲存對特定金鑰加密的值。 iOS 覆寫以指定鑰匙圈的 SecAccessibility。

SetAsync(String, String)

儲存對特定金鑰加密的值。

適用於