pub struct HashQualityMetrics {
pub components_with_any_hash: usize,
pub components_with_strong_hash: usize,
pub components_with_weak_only: usize,
pub algorithm_distribution: BTreeMap<String, usize>,
pub total_hashes: usize,
}Expand description
Hash/integrity quality metrics
Fields§
§components_with_any_hash: usizeComponents with any hash
components_with_strong_hash: usizeComponents with at least one strong hash (SHA-256+, SHA-3, BLAKE, Blake3)
components_with_weak_only: usizeComponents with only weak hashes (MD5, SHA-1) and no strong backup
algorithm_distribution: BTreeMap<String, usize>Distribution of hash algorithms across all components
total_hashes: usizeTotal hash entries across all components
Implementations§
Source§impl HashQualityMetrics
impl HashQualityMetrics
Sourcepub fn from_sbom(sbom: &NormalizedSbom) -> Self
pub fn from_sbom(sbom: &NormalizedSbom) -> Self
Calculate hash quality metrics from an SBOM
Sourcepub fn quality_score(&self, total_components: usize) -> f32
pub fn quality_score(&self, total_components: usize) -> f32
Calculate integrity quality score (0-100)
Base 60% for any-hash coverage + 40% bonus for strong-hash coverage, with a penalty for weak-only components.
Trait Implementations§
Source§impl Clone for HashQualityMetrics
impl Clone for HashQualityMetrics
Source§fn clone(&self) -> HashQualityMetrics
fn clone(&self) -> HashQualityMetrics
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for HashQualityMetrics
impl Debug for HashQualityMetrics
Source§impl<'de> Deserialize<'de> for HashQualityMetrics
impl<'de> Deserialize<'de> for HashQualityMetrics
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for HashQualityMetrics
impl RefUnwindSafe for HashQualityMetrics
impl Send for HashQualityMetrics
impl Sync for HashQualityMetrics
impl Unpin for HashQualityMetrics
impl UnsafeUnpin for HashQualityMetrics
impl UnwindSafe for HashQualityMetrics
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more