mirror of
https://github.com/napi-rs/node-rs.git
synced 2026-10-29 03:24:33 +08:00
* perf(argon2): validate UTF-8 with simdutf8 before owning the string Check the JS byte slice with simdutf8, then build String via from_utf8_unchecked so from_utf8 does not walk the bytes again. * perf(argon2): decode PHC Base64 with a LUT instead of the engine Salt and tag fields are tens of bytes. A 256-entry table plus leftover-bit checks beats the generic base64 crate, and on aarch64 argon2-rust's SIMD would not even run for a 16-byte salt. * perf(argon2): decode PHC fields with argon2-rust SIMD Base64 Use the new encode_base64/decode_base64 entry points. decode_phc still owns param order and data=. Temporarily depends on the local argon2-rust tree until 1.1.0 is on crates.io. * feat(argon2): consume argon2-rust 1.1 PHC APIs Drop the local PHC parser, encoder, and compare. Hash and verify go through hash_encoded_with_ad, decode_phc, and verify_with_ad. Require argon2-rust 1.1 from crates.io; the sibling path dep is gone.
41 lines
1.2 KiB
TOML
41 lines
1.2 KiB
TOML
[workspace]
|
|
members = [
|
|
"./crates/alloc",
|
|
"./packages/argon2",
|
|
"./packages/bcrypt",
|
|
"./packages/crc32",
|
|
"./packages/jieba",
|
|
"./packages/jsonwebtoken",
|
|
"./packages/xxhash",
|
|
]
|
|
resolver = "2"
|
|
|
|
[workspace.dependencies]
|
|
argon2-rust = { version = "1.1", default-features = false }
|
|
base64 = { version = "0.23" }
|
|
bcrypt = "0.19"
|
|
blowfish = { version = "0.10", features = ["bcrypt"] }
|
|
crc32c = { version = "0.6" }
|
|
crc32fast = { version = "1.4", features = ["nightly"] }
|
|
global_alloc = { path = "./crates/alloc" }
|
|
indexmap = { version = "2", features = ["serde"] }
|
|
jieba-rs = { version = "0.10", default-features = false, features = ["tfidf", "textrank"] }
|
|
jsonwebtoken = { version = "11", features = ["rust_crypto"] }
|
|
mimalloc-safe = "0.1"
|
|
napi = { version = "3", default-features = false, features = ["napi3"] }
|
|
napi-build = "2"
|
|
napi-derive = { version = "3", default-features = false, features = ["type-def"] }
|
|
once_cell = "1"
|
|
quickcheck = "1.0"
|
|
rand = "0.10"
|
|
rand_core = { version = "0.10" }
|
|
serde = "1.0"
|
|
serde_json = "1.0"
|
|
simdutf8 = "0.1"
|
|
xxhash-rust = { version = "0.8", features = ["xxh32", "const_xxh32", "xxh64", "const_xxh64", "xxh3", "const_xxh3"] }
|
|
[profile.release]
|
|
codegen-units = 1
|
|
lto = true
|
|
overflow-checks = false
|
|
strip = 'symbols'
|