Files
sevenhill f74057ce9b
Build Android (FCM) / build-android-fcm (push) Canceled after 0s
Build Android / build-android (push) Canceled after 0s
Build iOS / build-ios (push) Canceled after 0s
Build Linux / build-linux (push) Canceled after 0s
Build macOS / build-macos (push) Canceled after 0s
Build Windows / build-windows (push) Canceled after 0s
Release (main) / android (oneme) (push) Canceled after 0s
Release (main) / android (qlyra) (push) Canceled after 0s
Release (main) / windows (push) Canceled after 0s
Release (main) / linux (push) Canceled after 0s
Release (main) / macos (push) Canceled after 0s
Release (main) / ios (push) Canceled after 0s
Release (main) / release (push) Canceled after 0s
Rebrand application as Qlyra
2026-08-30 13:16:17 +03:00

36 lines
1.2 KiB
Rust

use std::time::Instant;
use qlyra_crypto::cipher;
fn main() {
let password = "мой ключ 2026";
let started = Instant::now();
let key = cipher::derive_key(password).expect("derive");
println!("derive_key: {:?}", started.elapsed());
for text in [
"привет",
"встречаемся в 19:00 у метро",
"Hello! Это смешанный текст с эмодзи 🔐",
] {
let encrypted = cipher::encrypt(text, &key).expect("encrypt");
let decrypted = cipher::decrypt(&encrypted, &key).expect("decrypt");
println!(
"\n{} символов -> {} символов",
text.chars().count(),
encrypted.chars().count()
);
println!(" {text}");
println!(" {encrypted}");
assert_eq!(decrypted, text);
}
let wrong = cipher::derive_key("не тот ключ").expect("derive");
let sample = cipher::encrypt("секрет", &key).expect("encrypt");
println!("\nчужой ключ: {:?}", cipher::decrypt(&sample, &wrong));
println!(
"обычный текст: {:?}",
cipher::decrypt("привет как дела", &key)
);
}