diff --git a/Cargo.lock b/Cargo.lock index 6f956698..b07c3d17 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -11,7 +11,7 @@ dependencies = [ "color_quant", "config", "image", - "md5", + "md-5", "once_cell", "ratatui", "shared", @@ -152,6 +152,15 @@ version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + [[package]] name = "bumpalo" version = "3.13.0" @@ -355,12 +364,32 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + [[package]] name = "deranged" version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929" +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + [[package]] name = "either" version = "1.9.0" @@ -552,6 +581,16 @@ dependencies = [ "slab", ] +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + [[package]] name = "getrandom" version = "0.2.10" @@ -815,10 +854,13 @@ dependencies = [ ] [[package]] -name = "md5" -version = "0.7.0" +name = "md-5" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" +checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" +dependencies = [ + "digest", +] [[package]] name = "memchr" @@ -1641,6 +1683,12 @@ dependencies = [ "windows 0.44.0", ] +[[package]] +name = "typenum" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" + [[package]] name = "unicode-bidi" version = "0.3.13" @@ -1691,6 +1739,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + [[package]] name = "walkdir" version = "2.3.3" diff --git a/adaptor/Cargo.toml b/adaptor/Cargo.toml index 12a801b5..9372bc6b 100644 --- a/adaptor/Cargo.toml +++ b/adaptor/Cargo.toml @@ -12,7 +12,7 @@ anyhow = "^1" base64 = "^0" color_quant = "^1" image = "^0" -md5 = "^0" +md-5 = "^0" once_cell = "^1" ratatui = "^0" tokio = { version = "^1", features = [ "parking_lot" ] } diff --git a/adaptor/src/image.rs b/adaptor/src/image.rs index 38d8533d..39bdc369 100644 --- a/adaptor/src/image.rs +++ b/adaptor/src/image.rs @@ -3,6 +3,7 @@ use std::path::{Path, PathBuf}; use anyhow::{Error, Result}; use config::PREVIEW; use image::{imageops::FilterType, DynamicImage, ImageFormat}; +use md5::{Digest, Md5}; use shared::tty_ratio; use tokio::fs; @@ -45,6 +46,7 @@ impl Image { #[inline] pub fn cache(path: &Path) -> PathBuf { - format!("/tmp/yazi/{:x}", md5::compute(path.to_string_lossy().as_bytes())).into() + format!("/tmp/yazi/{:x}", Md5::new_with_prefix(path.to_string_lossy().as_bytes()).finalize()) + .into() } }