mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2026-05-26 20:49:55 +00:00
chore: Replace ring for sha256 with sha2
This commit is contained in:
Generated
+1
-1
@@ -1069,13 +1069,13 @@ dependencies = [
|
|||||||
"rand_core 0.6.4",
|
"rand_core 0.6.4",
|
||||||
"regex",
|
"regex",
|
||||||
"reqwest 0.13.2",
|
"reqwest 0.13.2",
|
||||||
"ring",
|
|
||||||
"ruma",
|
"ruma",
|
||||||
"sanitize-filename",
|
"sanitize-filename",
|
||||||
"serde",
|
"serde",
|
||||||
"serde-saphyr",
|
"serde-saphyr",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"serde_regex",
|
"serde_regex",
|
||||||
|
"sha2 0.11.0",
|
||||||
"smallstr",
|
"smallstr",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
"thiserror 2.0.18",
|
"thiserror 2.0.18",
|
||||||
|
|||||||
+1
-1
@@ -562,7 +562,7 @@ version = "0.15.0"
|
|||||||
[workspace.dependencies.lettre]
|
[workspace.dependencies.lettre]
|
||||||
version = "0.11.19"
|
version = "0.11.19"
|
||||||
default-features = false
|
default-features = false
|
||||||
features = ["smtp-transport", "pool", "hostname", "builder", "rustls", "rustls-native-certs", "tokio1", "ring", "tokio1-rustls", "tracing", "serde"]
|
features = ["smtp-transport", "pool", "hostname", "builder", "rustls", "rustls-native-certs", "tokio1", "rustls-no-provider", "tokio1-rustls", "tracing", "serde"]
|
||||||
|
|
||||||
[workspace.dependencies.governor]
|
[workspace.dependencies.governor]
|
||||||
version = "0.10.4"
|
version = "0.10.4"
|
||||||
|
|||||||
+1
-1
@@ -92,7 +92,7 @@ rand.workspace = true
|
|||||||
rand_core = { version = "0.6.4", features = ["getrandom"] }
|
rand_core = { version = "0.6.4", features = ["getrandom"] }
|
||||||
regex.workspace = true
|
regex.workspace = true
|
||||||
reqwest.workspace = true
|
reqwest.workspace = true
|
||||||
ring.workspace = true
|
sha2.workspace = true
|
||||||
ruma.workspace = true
|
ruma.workspace = true
|
||||||
sanitize-filename.workspace = true
|
sanitize-filename.workspace = true
|
||||||
serde_json.workspace = true
|
serde_json.workspace = true
|
||||||
|
|||||||
@@ -1,19 +1,16 @@
|
|||||||
use ring::{
|
use sha2::{Digest, Sha256};
|
||||||
digest,
|
|
||||||
digest::{Context, SHA256, SHA256_OUTPUT_LEN},
|
|
||||||
};
|
|
||||||
|
|
||||||
pub type Digest = [u8; SHA256_OUTPUT_LEN];
|
pub type DigestOut = [u8; 256 / 8];
|
||||||
|
|
||||||
/// Sha256 hash (input gather joined by 0xFF bytes)
|
/// Sha256 hash (input gather joined by 0xFF bytes)
|
||||||
#[must_use]
|
#[must_use]
|
||||||
#[tracing::instrument(skip(inputs), level = "trace")]
|
#[tracing::instrument(skip(inputs), level = "trace")]
|
||||||
pub fn delimited<'a, T, I>(mut inputs: I) -> Digest
|
pub fn delimited<'a, T, I>(mut inputs: I) -> DigestOut
|
||||||
where
|
where
|
||||||
I: Iterator<Item = T> + 'a,
|
I: Iterator<Item = T> + 'a,
|
||||||
T: AsRef<[u8]> + 'a,
|
T: AsRef<[u8]> + 'a,
|
||||||
{
|
{
|
||||||
let mut ctx = Context::new(&SHA256);
|
let mut ctx = Sha256::new();
|
||||||
if let Some(input) = inputs.next() {
|
if let Some(input) = inputs.next() {
|
||||||
ctx.update(input.as_ref());
|
ctx.update(input.as_ref());
|
||||||
for input in inputs {
|
for input in inputs {
|
||||||
@@ -22,8 +19,7 @@ where
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx.finish()
|
ctx.finalize()
|
||||||
.as_ref()
|
|
||||||
.try_into()
|
.try_into()
|
||||||
.expect("failed to return Digest buffer")
|
.expect("failed to return Digest buffer")
|
||||||
}
|
}
|
||||||
@@ -31,18 +27,17 @@ where
|
|||||||
/// Sha256 hash (input gather)
|
/// Sha256 hash (input gather)
|
||||||
#[must_use]
|
#[must_use]
|
||||||
#[tracing::instrument(skip(inputs), level = "trace")]
|
#[tracing::instrument(skip(inputs), level = "trace")]
|
||||||
pub fn concat<'a, T, I>(inputs: I) -> Digest
|
pub fn concat<'a, T, I>(inputs: I) -> DigestOut
|
||||||
where
|
where
|
||||||
I: Iterator<Item = T> + 'a,
|
I: Iterator<Item = T> + 'a,
|
||||||
T: AsRef<[u8]> + 'a,
|
T: AsRef<[u8]> + 'a,
|
||||||
{
|
{
|
||||||
inputs
|
inputs
|
||||||
.fold(Context::new(&SHA256), |mut ctx, input| {
|
.fold(Sha256::new(), |mut ctx, input| {
|
||||||
ctx.update(input.as_ref());
|
ctx.update(input.as_ref());
|
||||||
ctx
|
ctx
|
||||||
})
|
})
|
||||||
.finish()
|
.finalize()
|
||||||
.as_ref()
|
|
||||||
.try_into()
|
.try_into()
|
||||||
.expect("failed to return Digest buffer")
|
.expect("failed to return Digest buffer")
|
||||||
}
|
}
|
||||||
@@ -51,12 +46,11 @@ where
|
|||||||
#[inline]
|
#[inline]
|
||||||
#[must_use]
|
#[must_use]
|
||||||
#[tracing::instrument(skip(input), level = "trace")]
|
#[tracing::instrument(skip(input), level = "trace")]
|
||||||
pub fn hash<T>(input: T) -> Digest
|
pub fn hash<T>(input: T) -> DigestOut
|
||||||
where
|
where
|
||||||
T: AsRef<[u8]>,
|
T: AsRef<[u8]>,
|
||||||
{
|
{
|
||||||
digest::digest(&SHA256, input.as_ref())
|
Sha256::digest(input)
|
||||||
.as_ref()
|
|
||||||
.try_into()
|
.try_into()
|
||||||
.expect("failed to return Digest buffer")
|
.expect("failed to return Digest buffer")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user