FLUTTER ECOSYSTEM

roulljdh/encrypted_shared_preferences

Flutter plugin for Encrypted Shared Preferences

encrypted_shared_preferences project cover
Stars
18
Forks
10
Last push (UTC)
Jun 11, 2022
Project status
Active
roulljdh GitHub avatar
GITHUB User

roulljdh ↗

Web 🕸️ and Mobile 📱 Developer

LanguagesDartHTMLSwiftKotlinObjective-C

Packages published by this repository

Dependencies used

Dependency list 2 items

Original README

English project snapshot. Visit GitHub for the latest content.

Expand / collapse project README

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!
});
Remove value:
encryptedSharedPreferences.remove('sample').then((bool success) {
    if (success) {
        print('success');
    } else {
        print('fail');
    }
});
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