Upgrade dependencies to latest stable

zip 0.6.6 -> 8.6.0 (the 0.6 line is unmaintained), aes 0.8 -> 0.9
(BlockCipherDecrypt trait replaces BlockDecrypt), sha2 0.10 -> 0.11
(Array no longer formats as hex; local hex_digest helpers). Outputs are
byte-identical across the upgrade: full golden corpus and Android corpus
sidecars all pass.
This commit is contained in:
2026-09-02 03:19:06 +08:00
parent d3dd1a8ff8
commit cbfacbc31f
8 changed files with 222 additions and 120 deletions
+5 -1
View File
@@ -77,7 +77,11 @@ fn sha256_hex(data: &[u8]) -> String {
use sha2::Digest;
let mut digest = sha2::Sha256::new();
digest.update(data);
format!("{:x}", digest.finalize())
let mut out = String::with_capacity(64);
for byte in digest.finalize() {
out.push_str(&format!("{byte:02x}"));
}
out
}
/// `<stem>.golden.so.sha256` next to `input`.