1pub mod pbkdf2_kdf;
2pub use pbkdf2_kdf::*;
3
4use crate::utils::{from_hex, to_hex};
5use crate::Hash;
6use serde::*;
7#[cfg(target_arch = "wasm32")]
8use wasm_bindgen::prelude::*;
9
10#[cfg_attr(all(target_arch = "wasm32", feature = "wasm-bindgen-kdf"), wasm_bindgen)]
11#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
12pub struct KDF {
13 hash: Hash,
14 #[serde(serialize_with = "to_hex", deserialize_with = "from_hex")]
15 salt: Vec<u8>,
16}
17
18#[cfg_attr(all(target_arch = "wasm32", feature = "wasm-bindgen-kdf"), wasm_bindgen)]
19impl KDF {
20 #[cfg_attr(all(target_arch = "wasm32", feature = "wasm-bindgen-kdf"), wasm_bindgen(js_name = getHash))]
21 pub fn get_hash(&self) -> Hash {
22 self.hash.clone()
23 }
24
25 #[cfg_attr(all(target_arch = "wasm32", feature = "wasm-bindgen-kdf"), wasm_bindgen(js_name = getSalt))]
26 pub fn get_salt(&self) -> Vec<u8> {
27 self.salt.clone()
28 }
29}