#![allow(clippy::unwrap_used, clippy::expect_used)]
use hsh::policy::{Policy, PolicyBuilder, PrimaryAlgorithm};
use hsh::{api, Backend};
fn main() {
let policy = Policy::fips_140_pbkdf2();
println!("Primary : {:?}", policy.primary());
println!("Backend : {:?}", policy.backend());
println!(
"FIPS available : {}",
Backend::fips_available_in_build()
);
let err = api::hash(&policy, "user-pw").unwrap_err();
println!("api::hash refused : {err}");
let contradictory =
PolicyBuilder::from_preset(&Policy::fips_140_pbkdf2())
.primary(PrimaryAlgorithm::Argon2id)
.build()
.unwrap();
let err2 = api::hash(&contradictory, "user-pw").unwrap_err();
println!("Contradiction : {err2}");
}