why2 1.4.13

Lightweight, fast, secure, and easy to use encryption system.
Documentation
# This is part of WHY2
# Copyright (C) 2022-2026 Václav Šmejkal

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <https://www.gnu.org/licenses/>.

[package]
name = "why2"
version = "1.4.13"
authors.workspace = true
edition.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
description = "Lightweight, fast, secure, and easy to use encryption system."
keywords = ["encryption", "security", "cryptography"]
categories = ["cryptography"]
readme = "../README.md"

[dependencies]
rand = "0.10.1"
rand_chacha = "0.10.0"
sha2 = { workspace = true }
rayon = "1.12.0"
zeroize = { workspace = true }
subtle = { version = "2.6.1", optional = true }
hmac = { version = "0.13.0", optional = true }
wide = "1.4.0"

[dev-dependencies]
criterion = "0.8.2"

[features]
default = ["constant-time", "auth"]
constant-time = ["dep:subtle"]
auth = ["dep:hmac"]

[package.metadata.docs.rs]
rustdoc-args = ["--html-in-header", "docs-header.html"]

[[bench]]
name = "comprehensive"
path = "../benches/comprehensive.rs"
harness = false

[[example]]
name = "basic_encryption"
path = "../examples/basic_encryption.rs"

[[example]]
name = "custom_key"
path = "../examples/custom_key.rs"

[[example]]
name = "binary_data"
path = "../examples/binary_data.rs"

[[example]]
name = "grid_sizes"
path = "../examples/grid_sizes.rs"

[[example]]
name = "file_encryption"
path = "../examples/file_encryption.rs"

[[example]]
name = "authenticated_encryption"
path = "../examples/authenticated_encryption.rs"

[[test]]
name = "why2_integration"
path = "../tests/mod.rs"