use heliosdb_nano::crypto::{encrypt, decrypt, derive_key_from_password};
use heliosdb_nano::Result;
fn main() -> Result<()> {
println!("HeliosDB Nano - Encryption Example\n");
let password = "my-secure-password";
let salt = b"random-salt-1234";
let key = derive_key_from_password(password, salt)?;
println!("✓ Encryption key derived from password");
let plaintext = b"Sensitive data to protect";
let ciphertext = encrypt(&key, plaintext)?;
println!("✓ Data encrypted ({} bytes → {} bytes)",
plaintext.len(), ciphertext.len());
let decrypted = decrypt(&key, &ciphertext)?;
println!("✓ Data decrypted");
assert_eq!(plaintext, &decrypted[..]);
println!("✓ Decryption verified - data matches!");
println!("\n💡 To use encryption with HeliosDB Nano:");
println!(" 1. Set HELIOSDB_ENCRYPTION_KEY environment variable");
println!(" 2. Or configure in heliosdb.toml:");
println!(" [encryption]");
println!(" enabled = true");
println!(" key_source = {{ environment = \"HELIOSDB_ENCRYPTION_KEY\" }}");
Ok(())
}