pub struct PatternAnalyzer { /* private fields */ }Expand description
PatternAnalyzer analyzes passwords for common weak patterns.
It checks for:
- Keyboard patterns (e.g., “qwerty”, “asdf”).
- Repeated characters (consecutive like “aaa” or high frequency like “banana”).
- Sequential characters (e.g., “abc”, “123”).
- Common character substitutions (e.g., “@” for “a”, “3” for “e”).
- Repeated sequences (e.g., “abcabc”, “passpass”).
Penalties are applied for each detected weakness, reducing the overall score from 1.0.
§Examples
use password_strength::analyzer::{Analyzer, pattern::PatternAnalyzer};
let analyzer = PatternAnalyzer::default();
println!("Score for 'qwerty12345': {}", analyzer.analyze("qwerty12345"));
println!("Score for 'P@sswOrd!': {}", analyzer.analyze("P@sswOrd!"));Trait Implementations§
Source§impl Analyzer for PatternAnalyzer
impl Analyzer for PatternAnalyzer
Source§impl Clone for PatternAnalyzer
impl Clone for PatternAnalyzer
Source§fn clone(&self) -> PatternAnalyzer
fn clone(&self) -> PatternAnalyzer
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 PatternAnalyzer
impl Debug for PatternAnalyzer
Auto Trait Implementations§
impl Freeze for PatternAnalyzer
impl RefUnwindSafe for PatternAnalyzer
impl Send for PatternAnalyzer
impl Sync for PatternAnalyzer
impl Unpin for PatternAnalyzer
impl UnsafeUnpin for PatternAnalyzer
impl UnwindSafe for PatternAnalyzer
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