From 0cc9e50cd2a77005b34843a969dd8f46cd72a72e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 26 Feb 2023 20:28:32 +0000 Subject: [PATCH] build(deps): bump base64 from 0.20.0 to 0.21.0 Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.20.0 to 0.21.0. - [Release notes](https://github.com/marshallpierce/rust-base64/releases) - [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md) - [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.20.0...v0.21.0) --- updated-dependencies: - dependency-name: base64 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Cargo.lock | 8 +------- Cargo.toml | 2 +- src/repofile/keyfile.rs | 21 +++++++++++---------- 3 files changed, 13 insertions(+), 18 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6e1d522..71f28ce 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -108,12 +108,6 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" -[[package]] -name = "base64" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ea22880d78093b0cbe17c89f64a7d457941e65759157ec6cb31a31d652b05e5" - [[package]] name = "base64" version = "0.21.0" @@ -1719,7 +1713,7 @@ dependencies = [ "aho-corasick", "anyhow", "backoff", - "base64 0.20.0", + "base64 0.21.0", "binrw", "bytes", "bytesize", diff --git a/Cargo.toml b/Cargo.toml index 9a9c92f..60c27c3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -42,7 +42,7 @@ scrypt = { version = "0.10", default-features = false } # cdc = "0.1" integer-sqrt = "0.1" # serialization -base64 = "0.20" +base64 = "0.21" binrw = "0.11" hex = { version = "0.4", features = ["serde"] } serde = { version = "1", features = ["derive"] } diff --git a/src/repofile/keyfile.rs b/src/repofile/keyfile.rs index 9469e52..0e49abc 100644 --- a/src/repofile/keyfile.rs +++ b/src/repofile/keyfile.rs @@ -1,4 +1,5 @@ use anyhow::{anyhow, Result}; +use base64::{engine::general_purpose::STANDARD, Engine as _}; use chrono::{DateTime, Local}; use rand::{thread_rng, RngCore}; use scrypt::Params; @@ -28,7 +29,7 @@ impl KeyFile { fn kdf_key(&self, passwd: &impl AsRef<[u8]>) -> Result { let params = Params::new(log_2(self.n), self.r, self.p) .map_err(|_| anyhow!("invalid scrypt paramters"))?; - let salt = base64::decode(&self.salt)?; + let salt = STANDARD.decode(&self.salt)?; let mut key = [0; 64]; scrypt::scrypt(passwd.as_ref(), &salt, ¶ms, &mut key).expect("output length invalid?"); @@ -40,7 +41,7 @@ impl KeyFile { /// The key usually should be the key generated by [`kdf_key()`](Self::kdf_key) fn key_from_data(&self, key: &Key) -> Result { let dec_data = key - .decrypt_data(&base64::decode(&self.data)?) + .decrypt_data(&STANDARD.decode(&self.data)?) .map_err(|_| anyhow!("decryption failed"))?; serde_json::from_slice::(&dec_data)?.key() } @@ -78,8 +79,8 @@ impl KeyFile { r: params.r(), p: params.p(), created: with_created.then(Local::now), - data: base64::encode(data), - salt: base64::encode(salt), + data: STANDARD.encode(data), + salt: STANDARD.encode(salt), }) } } @@ -117,19 +118,19 @@ impl MasterKey { fn from_key(key: Key) -> Self { let (encrypt, k, r) = key.to_keys(); Self { - encrypt: base64::encode(encrypt), + encrypt: STANDARD.encode(encrypt), mac: Mac { - k: base64::encode(k), - r: base64::encode(r), + k: STANDARD.encode(k), + r: STANDARD.encode(r), }, } } fn key(&self) -> Result { Ok(Key::from_keys( - &base64::decode(&self.encrypt)?, - &base64::decode(&self.mac.k)?, - &base64::decode(&self.mac.r)?, + &STANDARD.decode(&self.encrypt)?, + &STANDARD.decode(&self.mac.k)?, + &STANDARD.decode(&self.mac.r)?, )) } }