Expand description
§IntelliWallet Core
A secure password manager library with AES-256 encryption.
§Features
- AES-256-CBC encryption with PKCS7 padding
- SQLite database storage
- Hierarchical item organization (folders)
- Custom field types and labels
- Backup and restore functionality
- Multi-language support (11 languages)
§Example
use iwcore::Wallet;
use std::path::Path;
let mut wallet = Wallet::open(Path::new("/path/to/wallet")).unwrap();
wallet.unlock("my_password").unwrap();
let items = wallet.get_items().unwrap();
for item in items {
println!("{}: {}", item.item_id, item.name);
}Re-exports§
pub use error::WalletError;pub use error::Result;pub use database::models::IWItem;pub use database::models::IWField;pub use database::models::IWLabel;pub use database::models::IWProperties;pub use database::models::SearchResult;pub use database::models::SearchMatchType;pub use business::Wallet;pub use backup::BackupManager;pub use localization::Translations;pub use crypto::generate_password;pub use crypto::generate_clever_password;pub use crypto::PasswordOptions;pub use export::ExportItemType;pub use export::PDFItemModel;
Modules§
- backup
- Backup and restore functionality
- business
- Business logic layer for IntelliWallet
- crypto
- Cryptographic operations for IntelliWallet
- database
- Database layer for IntelliWallet
- error
- Error types for IntelliWallet Core
- export
- Export functionality for IntelliWallet
- localization
- Localization and translation support
- utils
- Utility functions
Constants§
- DATABASE_
FILENAME - Database filename
- DB_
VERSION - Database version constant
- ENCRYPTION_
COUNT_ DEFAULT - Default encryption iteration count
- FIELD_
ID_ LENGTH - Field ID length
- ITEM_
ID_ LENGTH - Item ID length
- LABEL_
ID_ LENGTH - Label ID length
- PASSWORD_
MAX_ LENGTH - Maximum password length
- PASSWORD_
MIN_ LENGTH - Minimum password length
- ROOT_ID
- Root item ID
- ROOT_
PARENT_ ID - Root parent ID placeholder
- SEARCH_
MIN_ LENGTH - Minimum search phrase length