https://opendal.apache.org/ logo
Works like this ```rust use opendal::{services, Op...
# general
q
Works like this
Copy code
rust
use opendal::{services, Operator};
use opendal_crypt::CryptLayer;

#[tokio::main]
async fn main() -> opendal::Result<()> {
    let key = [4u8; 32]; // 32-byte master key, chosen by fair dice roll
    let op = Operator::new(services::Fs::default().root("/var/lib/data/example"))?
        .layer(CryptLayer::new(key));

    op.write("notes/hello.txt", "hello").await?;
    assert_eq!(op.read("notes/hello.txt").await?.to_vec(), b"hello");
    Ok(())
}