bsv_wasm/kdf/
mod.rs

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}