secure_prefs_plus 1.0.0 copy "secure_prefs_plus: ^1.0.0" to clipboard
secure_prefs_plus: ^1.0.0 copied to clipboard

A secure storage solution combining SharedPreferences with AES-256-GCM encryption. Cross-platform support including web, with pure Dart implementation.

Changelog #

All notable changes to the secure_prefs_plus package will be documented in this file.

1.0.0 - 2024-01-01 #

Added #

  • Initial release of SecurePrefsPlus
  • AES-256-GCM encryption using PointyCastle
  • PBKDF2 key derivation for secure key generation
  • SharedPreferences-like API for easy adoption
  • Support for all basic data types:
    • String
    • int
    • double
    • bool
    • List
  • Cross-platform compatibility (iOS, Android, Web, Desktop)
  • Comprehensive example application
  • Complete documentation and README
  • MIT license

Features #

  • Automatic encryption key generation
  • Manual encryption key support for maximum security
  • Type-safe storage methods
  • Familiar API similar to SharedPreferences
  • Error handling for encryption/decryption failures
  • Utility methods: containsKey, remove, clear, getKeys, reload

Security #

  • AES-256-GCM encryption for confidentiality and authenticity
  • Random IV generation for each encryption operation
  • PBKDF2 key derivation with configurable iterations
  • Secure random number generation for cryptographic operations

1.0.1 - 2024-01-15 #

Fixed #

  • Improved error messages for decryption failures
  • Fixed Dart 3 compatibility issues
  • Enhanced example app with better error handling

Documentation #

  • Updated README with better security recommendations
  • Added more code examples for common use cases
  • Improved API documentation comments

1.1.0 - 2024-02-01 #

Added #

  • Migration helper from SharedPreferences to SecurePrefsPlus
  • Backup and restore functionality for secure data transfer
  • Key rotation support for enhanced security
  • Performance optimizations for large data sets

New Methods #

  • migrateFromSharedPreferences() - Migrate existing SharedPreferences data
  • exportEncryptedData() - Export all data for backup
  • importEncryptedData() - Import previously exported data
  • rotateEncryptionKey() - Re-encrypt all data with new key

Enhanced #

  • Better memory handling for large encryption operations
  • Improved IV generation using cryptographically secure random
  • Additional validation for encryption keys

1.2.0 - 2024-03-01 #

Added #

  • Flutter Web support enhancements
  • Keychain integration for iOS (optional)
  • Keystore integration for Android (optional)
  • Biometric authentication support (optional)

New Features #

  • SecurePrefsPlus.withBiometric() - Initialize with biometric protection
  • setStringWithBiometric() - Store data requiring biometric auth
  • getStringWithBiometric() - Retrieve data with biometric prompt

Dependencies #

  • Added optional local_auth dependency for biometric features
  • Added optional flutter_secure_storage for platform-specific secure storage

2.0.0 - 2024-04-01 #

Breaking Changes #

  • Null safety migration completed
  • Minimum Flutter version increased to 3.0.0
  • API cleanup - removed deprecated methods

Added #

  • Sound null safety throughout the codebase
  • Extended encryption support for complex objects
  • Stream-based updates for reactive programming

New Methods #

  • setObject<T>() - Store any serializable object
  • getObject<T>() - Retrieve typed objects
  • watchKey(String key) - Stream for key changes
  • getAllValues() - Get all decrypted values at once

Performance #

  • Reduced memory allocation during encryption/decryption
  • Faster key derivation with optimized PBKDF2 implementation
  • Lazy loading of infrequently accessed data

2.1.0 - 2024-05-01 #

Added #

  • Custom encryption algorithms support
  • Multiple encryption key support per instance
  • Data compression before encryption (optional)
  • Benchmarking utilities for performance testing

Enhanced #

  • Better algorithm agility - easy to switch encryption methods
  • Improved key management - support for key hierarchies
  • Enhanced security - protection against timing attacks

New Features #

  • setCompressedString() - Store compressed and encrypted data
  • getCompressedString() - Retrieve and decompress data
  • benchmarkEncryption() - Test encryption performance

[Unreleased] #

Planned Features #

  • Support for SQLite-based encrypted storage
  • Cloud backup integration with end-to-end encryption
  • Advanced key management with hardware security module support
  • Quantum-resistant encryption algorithms
  • Multi-user support within single app instance

Known Issues #

  • None currently reported

Migration Guides #

Migrating from 1.x to 2.0 #

Version 2.0 introduces null safety and requires Flutter 3.0+. Update your dependencies:

dependencies:
  secure_prefs_plus: ^2.0.0
0
likes
130
points
100
downloads

Publisher

unverified uploader

Weekly Downloads

A secure storage solution combining SharedPreferences with AES-256-GCM encryption. Cross-platform support including web, with pure Dart implementation.

Repository (GitHub)
View/report issues

Topics

#encryption #storage #security #preferences #aes

Documentation

API reference

License

MIT (license)

Dependencies

crypto, flutter, pointycastle, shared_preferences

More

Packages that depend on secure_prefs_plus