Variable-length Expansion Pass function. ( i.e. short password to long hashed password )
| Docs | Latest Note |
[dependencies]
vep = "2.1.0"
or
[dependencies]
vep = { version = "2.1.0", default-features = false } # no-std
use vep::Vep;
use sha2::{Sha256, Digest}; // can be any hasher(dyn Digest from `digest` crate)
let src = b"hello vep!"; // <- 10 bytes
let expanded = Vep(Sha256::new()).expand(src); // -> 10 * 32 bytes == `320 bytes`
assert_eq!(expanded.len(), Vep::<Sha256>::output_size_calc(src));
let src = b"hello vep!"; // <- 10 bytes
let result = Vep(Sha256::new()).expand_and_then_reduce(src); // -> 320 bytes -> `32 bytes` (reduced)
assert_eq!(result.len(), Vep::<Sha256>::reduced_size_calc());