LongYinan
b0ea4a01b8
perf(argon2): simdutf8, crate PHC decode, argon2-rust 1.1 ( #1189 )
...
* 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.
2026-08-13 16:30:24 +08:00
LongYinan
2b8b617be0
feat(argon2): switch backend to argon2-rust ( #1188 )
...
* feat(argon2): switch backend to argon2-rust
Replace RustCrypto argon2 with argon2-rust 1.0.0 from crates.io.
Keep the public JS API. Verify accepts node-argon2 PHC param order
and associatedData. The bench pins the same raw params, salt, and
tag across implementations.
* fix(argon2): keep Node 22 tests and bound verify threads
Skip the node:crypto.argon2Sync comparison on runtimes that lack it.
Cap worker threads at available parallelism so a PHC p= value cannot
spawn one OS thread per lane. Allocate tag buffers with try_reserve
instead of vec! so a huge outputLen is a JS error, not a process abort.
* fix(argon2): skip node-argon2 interop when its native addon is missing
node-argon2 0.45 has no darwin-x64 prebuild. Intel macOS CI runs x64
Node on an ARM host, so a static import crashed the whole spec file.
* test(argon2): compare against node:crypto argon2
Drop the node-argon2 native addon from tests. Interop uses the
builtin KDF, which is available on every CI host that has it.
2026-08-13 11:01:01 +08:00
renovate[bot] and LongYinan
05156db802
chore(deps): update rust crate jsonwebtoken to v11 ( #1177 )
...
* chore(deps): update rust crate jsonwebtoken to v11
* fix(jsonwebtoken): handle non-exhaustive Algorithm in v11
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: LongYinan <lynweklm@gmail.com >
2026-08-13 00:23:31 +08:00
renovate[bot]
f94ebe901b
chore(deps): update rust crate base64 to 0.23 ( #1176 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-23 18:41:54 +00:00
renovate[bot]
6755acf779
chore(deps): update rust crate jieba-rs to 0.10 ( #1140 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-22 09:30:52 +00:00
renovate[bot]
9252fd481d
chore(deps): update rust crate jieba-rs to 0.9 ( #1114 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-13 01:47:39 +00:00
renovate[bot]
f32a3e9594
chore(deps): update rust crate blowfish to 0.10 ( #1112 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-10 17:45:42 +00:00
renovate[bot]
2339940c42
chore(deps): update rust crate argon2 to v0.6.0-rc.8 ( #1098 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-22 05:45:37 +00:00
renovate[bot]
cc8658b586
chore(deps): update rust crate bcrypt to 0.19 ( #1088 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 10:12:09 +00:00
renovate[bot]
e41883f64e
chore(deps): update rust crate rand to 0.10 ( #1073 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-08 18:04:56 +00:00
renovate[bot]
23ea4f8cf9
chore(deps): update rust crate argon2 to v0.6.0-rc.7 ( #1072 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-03 02:46:06 +00:00
LongYinan
9764f3cf63
fix(deps): update rand_core ( #1069 )
2026-02-02 11:04:11 +08:00
renovate[bot]
2386a451f1
fix(deps): update rust crate rand_core to 0.10 ( #1067 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-01 15:09:50 +00:00
renovate[bot]
bddeab6d2f
chore(deps): update rust crate argon2 to v0.6.0-rc.6 ( #1060 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-21 18:34:15 +00:00
renovate[bot]
c72d009069
chore(deps): update rust crate bcrypt to 0.18 ( #1050 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-12 06:18:13 +00:00
d85d35a23e
fix(deps): upgrade napi-rs/cli and fix build errors ( #1048 )
...
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
Co-authored-by: LongYinan <lynweklm@gmail.com >
2026-01-12 14:01:13 +08:00
renovate[bot]
aa5ce0c20c
chore(deps): update rust crate jieba-rs to 0.8 ( #1034 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-16 04:28:05 +00:00
renovate[bot]
8d41794c88
chore(deps): update rust crate bcrypt to 0.17 ( #967 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-30 10:08:00 +00:00
renovate[bot]
3029a99f12
fix(deps): update rust crate rand_core to 0.9 ( #963 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-27 21:30:46 +00:00
renovate[bot]
07cbdc0dfa
chore(deps): update rust crate rand to 0.9 ( #961 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-27 18:23:29 +00:00
renovate[bot]
e97f7a7c28
chore(deps): update rust crate bcrypt to 0.16 ( #929 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-18 15:59:45 +00:00
LongYinan
ef96dda6e4
chore: refresh the infra ( #915 )
2024-10-27 15:04:00 +08:00
Linus Unnebäck and LongYinan
50be77d07d
bench(bcrypt): add @cwasm/openbsd-bcrypt and @cwasm/openwall-bcrypt to benchmark ( #649 )
...
* Add @cwasm/openbsd-bcrypt and @cwasm/openwall-bcrypt to benchmark
* tinybench
---------
Co-authored-by: LongYinan <lynweklm@gmail.com >
2024-10-27 00:18:23 +08:00
LongYinan
afd2a544b8
feat!(jieba): upgrade to jieba@0.7 ( #912 )
...
Also provide customizable API for Jieba and TfIdf
2024-10-26 23:25:58 +08:00
renovate[bot]
09acc08567
chore(deps): update rust crate napi-derive to 3.0.0-alpha ( #905 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-14 01:33:40 +00:00
renovate[bot]
fb1a6fa096
chore(deps): update rust crate napi to 3.0.0-alpha ( #904 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-13 22:52:56 +00:00
LongYinan
f66abff2c5
feat(*): upgrade to NAPI-RS 3.0 alpha ( #897 )
2024-10-03 17:51:06 +02:00
LongYinan
8b58703433
chore: deprecate deno-lint ( #852 )
2024-07-04 12:02:01 +08:00
LongYinan
4fb4bcc504
chore(*): upgrade NAPI-RS and bindings ( #825 )
2024-04-19 17:51:38 +08:00
LongYinan
2337ec38ce
chore: upgrade dependencies
2023-07-20 10:05:43 +08:00
LongYinan
a0ef7deb79
feat(*): upgrade dependencies
2023-04-24 08:47:02 +08:00
nebarf
70ceb14a0b
feat(jsonwebtoken): jsonwebtoken implementation
2023-02-26 15:13:54 +01:00
LongYinan
8ae3d85dd5
perf(crc32): enable sse4.2 for x86 platform
2023-01-11 20:06:25 +08:00
LongYinan
58962a11cb
chore: upgrade dependencies
2022-05-29 22:05:00 +08:00
LongYinan
9f953e0853
chore: upgrade napi to crates version ( #633 )
2022-05-07 21:00:30 +08:00
LongYinan
792f69d7ac
fix(*): Node.js worker_threads safe by upgrade NAPI-RS version ( #623 )
2022-05-07 15:40:05 +08:00
LongYinan
6adc51dd43
feat(argon2): implement argon2
2021-12-29 21:17:35 +08:00
LongYinan
5ea38c3bfd
feat(xxhash): init xxhash32 and xxhash64
2021-10-21 23:26:06 +08:00
LongYinan
0b2254ee11
chore: switch to nightly toochain, strip symbols ( #463 )
2021-07-18 23:53:02 +08:00
LongYinan
309fe82582
chore: upgrade dependencies
2021-03-02 15:19:32 +08:00
LongYinan
1f1a7902bb
chore: upgrade all deps
2021-01-14 11:46:56 +08:00
LongYinan
0fa588eddb
feat: upgrade to napi@1
2020-12-03 00:00:34 +08:00
LongYinan
025abfb754
feat: start deno lint
2020-08-19 00:05:13 +08:00
LongYinan
0e315051e2
feat: support linux musl
2020-06-12 02:23:30 +08:00
LongYinan
666f122275
feat(bcrypt): fastest bcrypt
2020-05-15 17:43:27 +08:00
LongYinan
9676a439ca
feat(jieba): impl jieba-rs binding
2020-05-02 12:35:21 +08:00
LongYinan
dfba81fbee
feat(crc32): init
2020-04-20 00:39:43 +08:00
LongYinan
626fdf45ce
Init
2020-03-18 00:10:21 +08:00