[package] name = "pwbox" version = "0.5.0" authors = ["The Exonum Team "] repository = "https://github.com/exonum/pwbox-rs" documentation = "https://docs.rs/pwbox" readme = "README.md" edition = "2018" license = "Apache-2.0" keywords = ["cryptography", "encryption", "password-based", "exonum"] categories = ["cryptography", "no-std"] description = "Modular password-based encryption" [package.metadata.docs.rs] all-features = true # Set `docsrs` to enable unstable `doc(cfg(...))` attributes. rustdoc-args = ["--cfg", "docsrs"] [dependencies] anyhow = { version = "1.0", default-features = false } rand_core = "0.6.0" constant_time_eq = "0.1.3" smallvec = { version = "1.6.0", default-features = false } zeroize = { version = "1.4", default-features = false, features = ["alloc"] } # serialization-related dependencies serde = { version = "1.0", default-features = false, features = ["derive"] } serde_json = { version = "1.0", default-features = false, features = ["alloc"] } hex-buffer-serde = { version = "0.3" } # crypto backends exonum_sodiumoxide = { version = ">=0.0.21, <=0.0.24", optional = true } rust-crypto = { version = "0.2.36", optional = true } chacha20poly1305 = { version = "0.9", optional = true } scrypt = { version = "0.8", optional = true, default-features = false } [dev-dependencies] assert_matches = "1.5.0" hex = "0.4.2" rand = "0.8.0" rpassword = "5.0.0" serde_cbor = "0.11.1" serde_yaml = "0.8.14" structopt = "0.3.21" toml = "0.5.8" version-sync = "0.9.2" [features] default = ["std", "exonum_sodiumoxide"] std = ["anyhow/std", "scrypt/std"] pure = ["chacha20poly1305", "scrypt"] [[test]] name = "serialization" path = "tests/serialization.rs" required-features = ["rust-crypto", "exonum_sodiumoxide"] [[example]] name = "sodium_keypair" path = "examples/sodium_keypair.rs" required-features = ["std", "exonum_sodiumoxide"] [[example]] name = "key-util" path = "examples/key_util.rs" required-features = ["std", "exonum_sodiumoxide"] [workspace] members = [".", "wasm"]