[package] name = "crypto" edition.workspace = true license.workspace = true repository.workspace = true rust-version.workspace = true version.workspace = true [lints] workspace = true [dependencies] aes-gcm = { version = "0.10.3", features = ["std"], optional = true } argon2 = { version = "0.5.3", features = ["std"], optional = true } base64 = "0.22.1" cfg-if = "1.0.0" chacha20poly1305 = { version = "0.10.1", optional = true } hex = "0.4.3" http = { workspace = true } jsonwebtoken = { workspace = true } lazy_static = "1.4.0" pbkdf2 = { version = "0.12.2", optional = true } rand = { workspace = true, optional = true } reqwest = { workspace = true, features = ["json"] } ring = { version = "0.17.14", features = ["std"] } sha2 = { workspace = true, optional = true } thiserror.workspace = true serde = { workspace = true } serde_json.workspace = true tracing = { workspace = true } tokio = { workspace = true, features = ["full"] } uuid = { workspace = true } [dev-dependencies] test-case.workspace = true time.workspace = true [features] default = ["crypto", "fips"] fips = [] crypto = [ "dep:aes-gcm", "dep:argon2", "dep:chacha20poly1305", "dep:pbkdf2", "dep:rand", "dep:sha2", ] kms = ["crypto"] # KMS功能依赖crypto feature