| Crates.io | dtf |
| lib.rs | dtf |
| version | 0.1.0 |
| created_at | 2025-04-06 18:01:03.628659+00 |
| updated_at | 2025-04-06 18:01:03.628659+00 |
| description | Obsecure the running time of a function call to diminish timing attacks |
| homepage | |
| repository | https://github.com/sbruton/dtf |
| max_upload_size | |
| id | 1623245 |
| size | 11,918 |
use std::time::Duration;
use dtf::sync::dtf;
let sensitive_method = || {
if let Some(user) = users.get(user_id) {
if user.password_hash.validate(password) {
return Ok(());
}
}
return Err("invalid credentials");
}
let min_duration = Duration::from_millis(1500);
let jitter = Duration::from_millis(100);
let result = dtf(min_duration, jitter, sensitive_method);
Requires the async feature be enabled.
use std::time::Duration;
use dtf::future::dtf;
let sensitive_method = async || {
if let Some(user) = users.get(user_id) {
if user.password_hash.validate(password) {
return Ok(());
}
}
return Err("invalid credentials");
}
let min_duration = Duration::from_millis(1500);
let jitter = Duration::from_millis(100);
let result = dtf(min_duration, jitter, sensitive_method).await;