[package]
edition = "2021"
rust-version = "1.85"
name = "sqlite-hashes"
version = "0.10.10"
authors = ["Yuri Astrakhan <YuriAstrakhan@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Hashing functions for SQLite with aggregation support: MD5, SHA1, SHA256, SHA512, Blake3, FNV-1a, xxHash"
readme = "README.md"
keywords = [
"sqlite",
"rusqlite",
"hash",
"md5",
"sha256",
]
categories = [
"database",
"cryptography",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/nyurik/sqlite-hashes"
[features]
aggregate = []
blake3 = ["dep:blake3"]
default = [
"trace",
"aggregate",
"hex",
"md5",
"sha1",
"sha224",
"sha256",
"sha384",
"sha512",
"blake3",
"fnv",
"xxhash",
]
default_loadable_extension = [
"loadable_extension",
"aggregate",
"hex",
"md5",
"sha1",
"sha224",
"sha256",
"sha384",
"sha512",
"blake3",
"fnv",
"xxhash",
]
fnv = [
"dep:noncrypto-digests",
"noncrypto-digests?/fnv",
]
hex = ["dep:hex"]
loadable_extension = [
"rusqlite/loadable_extension",
"rusqlite/trace",
]
md5 = ["dep:md-5"]
sha1 = ["dep:sha1"]
sha224 = ["dep:sha2"]
sha256 = ["dep:sha2"]
sha384 = ["dep:sha2"]
sha512 = ["dep:sha2"]
trace = [
"dep:hex",
"dep:log",
]
xxhash = [
"dep:noncrypto-digests",
"noncrypto-digests?/xxh3",
"noncrypto-digests?/xxh32",
"noncrypto-digests?/xxh64",
]
[lib]
name = "sqlite_hashes"
path = "src/lib.rs"
[[example]]
name = "sqlite_hashes"
crate-type = ["cdylib"]
path = "src/cdylib/cdylib.rs"
required-features = ["loadable_extension"]
[[test]]
name = "_utils"
path = "tests/_utils.rs"
[[test]]
name = "aggregate"
path = "tests/aggregate.rs"
[[test]]
name = "scalar"
path = "tests/scalar.rs"
[[bench]]
name = "bench"
path = "benches/bench.rs"
harness = false
[dependencies.blake3]
version = "1.8.4"
features = ["traits-preview"]
optional = true
[dependencies.digest]
version = "0.11.3"
[dependencies.hex]
version = "0.4"
optional = true
[dependencies.log]
version = "0.4.28"
optional = true
[dependencies.md-5]
version = "0.11.0"
optional = true
[dependencies.noncrypto-digests]
version = "0.4.0"
optional = true
[dependencies.rusqlite]
version = ">=0.30.0"
features = ["functions"]
[dependencies.sha1]
version = "0.11.0"
optional = true
[dependencies.sha2]
version = "0.11.0"
optional = true
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.ctor]
version = "1.0"
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.insta]
version = "1"
features = []
[lints.clippy]
missing_errors_doc = "allow"
module_name_repetitions = "allow"
multiple_crate_versions = "allow"
panic_in_result_fn = "warn"
todo = "warn"
unwrap_used = "warn"
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
unused_qualifications = "warn"