pub struct EntropyShapeSpec {
pub charset: ShapeCharset,
pub entropy_floor: f64,
pub special_min_length: usize,
pub grouping: Option<ShapeGrouping>,
pub require_mixed_case: bool,
pub require_digit: bool,
pub min_symbols: usize,
pub require_non_hex_alpha: bool,
pub require_group_alpha_digit: bool,
}Expand description
A declarative structural shape that may cross a detector’s broad isolated entropy floor. Every field is detector TOML data and the scanner keeps one general matcher, so a new shape family (base64, hex block) is added by a detector TOML rather than a scanner enum variant.
Fields§
§charset: ShapeCharsetCharacter class the candidate body must consist of.
entropy_floor: f64Minimum Shannon entropy in bits/byte.
special_min_length: usizeMinimum candidate length used by the isolated-shape revisit. This may be below the detector’s broad keyword-free minimum.
grouping: Option<ShapeGrouping>Optional separator grouping. Absent means an ungrouped run.
require_mixed_case: boolRequire both a lowercase and an uppercase letter.
require_digit: boolRequire at least one digit.
min_symbols: usizeMinimum count of symbol (non-alphanumeric) bytes.
require_non_hex_alpha: boolRequire at least one non-hex alphabetic byte, distinguishing an app password from a pure-hex digest of the same layout.
require_group_alpha_digit: boolWhen grouped, require every group to contain at least one letter and one digit (the app-password per-group rule).
Trait Implementations§
Source§impl Clone for EntropyShapeSpec
impl Clone for EntropyShapeSpec
Source§fn clone(&self) -> EntropyShapeSpec
fn clone(&self) -> EntropyShapeSpec
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for EntropyShapeSpec
Source§impl Debug for EntropyShapeSpec
impl Debug for EntropyShapeSpec
Source§impl<'de> Deserialize<'de> for EntropyShapeSpec
impl<'de> Deserialize<'de> for EntropyShapeSpec
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>,
Source§impl PartialEq for EntropyShapeSpec
impl PartialEq for EntropyShapeSpec
Source§impl Serialize for EntropyShapeSpec
impl Serialize for EntropyShapeSpec
impl StructuralPartialEq for EntropyShapeSpec
Auto Trait Implementations§
impl Freeze for EntropyShapeSpec
impl RefUnwindSafe for EntropyShapeSpec
impl Send for EntropyShapeSpec
impl Sync for EntropyShapeSpec
impl Unpin for EntropyShapeSpec
impl UnsafeUnpin for EntropyShapeSpec
impl UnwindSafe for EntropyShapeSpec
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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>
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>
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