encrypted_shared_preferences 3.0.0 icon indicating copy to clipboard operation
encrypted_shared_preferences: ^3.0.0 copied to clipboard

This plugin stores Shared Preferences as encrypted values on device storage.

Encrypted Shared Preferences #

Pub

This plugin stores Shared Preferences as encrypted values. It is decrypted when retrieved. You could use this side by side with regular Shared Preferences.

Usage #

Instantiate class: #

EncryptedSharedPreferences encryptedSharedPreferences = EncryptedSharedPreferences();

Save value: #

encryptedSharedPreferences.setString('sample', 'Hello, World!').then((bool success) {
    if (success) {
        print('success');
    } else {
        print('fail');
    }
});

Retrieve value: #

encryptedSharedPreferences.getString('sample').then((String value) {
    print(value); /// Prints Hello, World!
});

Clear values: #

/// Clears all values, including those you saved using regular Shared Preferences.
encryptedSharedPreferences.clear().then((bool success) {
    if (success) {
        print('success');
    } else {
        print('fail');
    }
});

Reload #

encryptedSharedPreferences.reload();

Optional: Pass custom SharedPreferences instance #

/// You can pass a custom SharedPreferences instance (e.g. A newer version of SharedPreferences)
final prefs = await SharedPreferences.getInstance();
EncryptedSharedPreferences encryptedSharedPreferences = EncryptedSharedPreferences(prefs: prefs);

Access internal SharedPreferences instance #

// You can access the internal SharedPreferences instance to invoke methods not exposed by regular EncryptedSharedPreferences
SharedPreferences instance = await encryptedSharedPreferences.getInstance();
int counter = 1;

/// Access SharedPreferences' setInt method
await instance.setInt('counter', counter);

Modes of operation #

Default mode is SIC AESMode.sic, you can override it using the mode named parameter:

EncryptedSharedPreferences encryptedSharedPreferences = EncryptedSharedPreferences(mode: AESMode.cbc);

Supported modes are:

  • CBC AESMode.cbc
  • CFB-64 AESMode.cfb64
  • CTR AESMode.ctr
  • ECB AESMode.ecb
  • OFB-64/GCTR AESMode.ofb64Gctr
  • OFB-64 AESMode.ofb64
  • SIC AESMode.sic
48
likes
120
pub points
93%
popularity

Publisher

unverified uploader

This plugin stores Shared Preferences as encrypted values on device storage.

Repository (GitHub)
View/report issues

Documentation

API reference

License

unknown (LICENSE)

Dependencies

encrypt, shared_preferences

More

Packages that depend on encrypted_shared_preferences