The end-to-end encrypted serde::Serializer
and serde::Deserializer
.
wasm-ready.
```rust use ring::rand::{SecureRandom, SystemRandom}; use serde::{Deserialize, Serialize}; use serdecrypt::{setup, MASTERKEY_LEN};
struct Example { #[serde(with = "serde_crypt")] private: String, public: String, }
fn main() -> Result<(), serdejson::Error> { let mut key: [u8; MASTERKEYLEN] = [0; MASTERKEYLEN]; let randgen = SystemRandom::new(); rand_gen.fill(&mut key).unwrap();
setup(key);
let data = Example {
private: "private data".to_string(),
public: "public data".to_string(),
};
let serialized = serde_json::to_string(&data)?;
let deserialized: Example = serde_json::from_str(&serialized)?;
assert_eq!(deserialized, data);
Ok(())
} ```