SYMBOL INDEX (201 symbols across 11 files) FILE: benches/zxcvbn.rs function bench_zxcvbn (line 7) | pub fn bench_zxcvbn(c: &mut Criterion) { FILE: benches/zxcvbn_unicode.rs function bench_zxcvbn_unicode (line 7) | pub fn bench_zxcvbn_unicode(c: &mut Criterion) { FILE: src/feedback.rs type Warning (line 15) | pub enum Warning { method fmt (line 33) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { type Suggestion (line 74) | pub enum Suggestion { method fmt (line 91) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { type Feedback (line 137) | pub struct Feedback { method warning (line 147) | pub fn warning(&self) -> Option { method suggestions (line 153) | pub fn suggestions(&self) -> &[Suggestion] { method fmt (line 159) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { function get_feedback (line 169) | pub(crate) fn get_feedback(score: Score, sequence: &[Match]) -> Option Feedback { function get_dictionary_match_feedback (line 244) | fn get_dictionary_match_feedback( function test_top_password_feedback (line 313) | fn test_top_password_feedback() { function test_feedback_display (line 339) | fn test_feedback_display() { FILE: src/frequency_lists.rs constant PASSWORDS (line 3) | const PASSWORDS: &str = "123456,password,12345678,qwerty,123456789,12345... constant ENGLISH_WIKI (line 4) | const ENGLISH_WIKI: &str = "the,of,and,in,was,is,for,as,on,with,by,he,at... constant FEMALE_NAMES (line 5) | const FEMALE_NAMES: &str = "mary,patricia,linda,barbara,elizabeth,jennif... constant SURNAMES (line 6) | const SURNAMES: &str = "smith,johnson,williams,jones,brown,davis,miller,... constant US_TV_AND_FILM (line 7) | const US_TV_AND_FILM: &str = "you,i,to,that,it,me,what,this,know,i'm,no,... constant MALE_NAMES (line 8) | const MALE_NAMES: &str = "james,john,robert,michael,william,david,richar... type DictionaryType (line 12) | pub enum DictionaryType { FILE: src/lib.rs function time_scoped (line 37) | fn time_scoped(f: F) -> (R, Duration) function time_scoped (line 49) | fn time_scoped(f: F) -> (R, Duration) function time_scoped (line 67) | fn time_scoped(f: F) -> (R, Duration) type Entropy (line 86) | pub struct Entropy { method guesses (line 110) | pub fn guesses(&self) -> u64 { method guesses_log10 (line 115) | pub fn guesses_log10(&self) -> f64 { method crack_times (line 120) | pub fn crack_times(&self) -> time_estimates::CrackTimes { method score (line 126) | pub fn score(&self) -> Score { method feedback (line 131) | pub fn feedback(&self) -> Option<&feedback::Feedback> { method sequence (line 136) | pub fn sequence(&self) -> &[Match] { method calculation_time (line 141) | pub fn calculation_time(&self) -> Duration { function zxcvbn (line 149) | pub fn zxcvbn(password: &str, user_inputs: &[&str]) -> Entropy { function test_zxcvbn_serialization_non_finite_guesses_log10 (line 249) | fn test_zxcvbn_serialization_non_finite_guesses_log10() { function test_zxcvbn (line 264) | fn test_zxcvbn() { function test_zxcvbn_empty (line 276) | fn test_zxcvbn_empty() { function test_zxcvbn_unicode (line 288) | fn test_zxcvbn_unicode() { function test_zxcvbn_unicode_2 (line 296) | fn test_zxcvbn_unicode_2() { function test_issue_13 (line 304) | fn test_issue_13() { function test_issue_15_example_1 (line 312) | fn test_issue_15_example_1() { function test_issue_15_example_2 (line 322) | fn test_issue_15_example_2() { function test_overflow_safety (line 332) | fn test_overflow_safety() { function test_unicode_mb (line 341) | fn test_unicode_mb() { FILE: src/matching/char_indexing.rs type CharIndexable (line 3) | pub(crate) trait CharIndexable<'b> { method char_index (line 4) | fn char_index(&'b self, range: Range) -> &'b str; type CharIndexableStr (line 7) | pub struct CharIndexableStr<'a> { function char_count (line 13) | pub(crate) fn char_count(&self) -> usize { function from (line 19) | fn from(s: &'a str) -> Self { function char_index (line 28) | fn char_index(&'b self, range: Range) -> &'b str { FILE: src/matching/mod.rs type Match (line 18) | pub struct Match { method range_inclusive (line 34) | pub fn range_inclusive(&self) -> std::ops::RangeInclusive { function omnimatch (line 40) | pub(crate) fn omnimatch(password: &str, user_inputs: &HashMap) -> String { function relevant_l33t_subtable (line 231) | fn relevant_l33t_subtable(password: &str) -> HashMap> { function enumerate_l33t_replacements (line 247) | fn enumerate_l33t_replacements(table: &HashMap>) -> Vec<... type SpatialMatch (line 301) | struct SpatialMatch {} constant SHIFTED_CHARS (line 312) | const SHIFTED_CHARS: [char; 49] = [ function spatial_match_helper (line 318) | fn spatial_match_helper( type RepeatMatch (line 401) | struct RepeatMatch {} constant MAX_DELTA (line 485) | const MAX_DELTA: i32 = 5; type SequenceMatch (line 499) | struct SequenceMatch {} type RegexMatch (line 564) | struct RegexMatch {} type DateMatch (line 622) | struct DateMatch {} function map_ints_to_ymd (line 740) | fn map_ints_to_ymd(first: u16, second: u16, third: u16) -> Option<(i32, ... function map_ints_to_md (line 803) | fn map_ints_to_md(first: u16, second: u16) -> Option<(i8, i8)> { function two_to_four_digit_year (line 812) | fn two_to_four_digit_year(year: u16) -> u16 { constant DATE_MIN_YEAR (line 824) | const DATE_MIN_YEAR: u16 = 1000; constant DATE_MAX_YEAR (line 825) | const DATE_MAX_YEAR: u16 = 2050; function test_translate (line 862) | fn test_translate() { function test_dictionary_matches_words_that_contain_other_words (line 883) | fn test_dictionary_matches_words_that_contain_other_words() { function test_dictionary_matches_multiple_words_when_they_overlap (line 901) | fn test_dictionary_matches_multiple_words_when_they_overlap() { function test_dictionary_ignores_uppercasing (line 919) | fn test_dictionary_ignores_uppercasing() { function test_dictionary_identifies_words_surrounded_by_non_words (line 937) | fn test_dictionary_identifies_words_surrounded_by_non_words() { function test_dictionary_matches_user_inputs (line 955) | fn test_dictionary_matches_user_inputs() { function test_dictionary_matches_against_reversed_words (line 979) | fn test_dictionary_matches_against_reversed_words() { function test_reduces_l33t_table_to_only_relevant_substitutions (line 998) | fn test_reduces_l33t_table_to_only_relevant_substitutions() { function test_enumerates_sets_of_l33t_subs_a_password_might_be_using (line 1022) | fn test_enumerates_sets_of_l33t_subs_a_password_might_be_using() { function test_dictionary_matches_against_l33t_words (line 1052) | fn test_dictionary_matches_against_l33t_words() { function test_dictionary_matches_overlapping_l33ted_words (line 1071) | fn test_dictionary_matches_overlapping_l33ted_words() { function test_doesnt_match_when_multiple_l33t_subs_needed_for_same_letter (line 1090) | fn test_doesnt_match_when_multiple_l33t_subs_needed_for_same_letter() { function test_doesnt_match_single_character_l33ted_words (line 1096) | fn test_doesnt_match_single_character_l33ted_words() { function test_doesnt_match_1_and_2_char_spatial_patterns (line 1102) | fn test_doesnt_match_1_and_2_char_spatial_patterns() { function test_matches_spatial_patterns_surrounded_by_non_spatial_patterns (line 1110) | fn test_matches_spatial_patterns_surrounded_by_non_spatial_patterns() { function test_matches_pattern_as_a_keyboard_pattern (line 1128) | fn test_matches_pattern_as_a_keyboard_pattern() { function test_doesnt_match_len_1_sequences (line 1169) | fn test_doesnt_match_len_1_sequences() { function test_matches_overlapping_sequences (line 1179) | fn test_matches_overlapping_sequences() { function test_matches_embedded_sequence_patterns (line 1201) | fn test_matches_embedded_sequence_patterns() { function test_matches_pattern_as_sequence (line 1215) | fn test_matches_pattern_as_sequence() { function test_doesnt_match_len_1_repeat_patterns (line 1247) | fn test_doesnt_match_len_1_repeat_patterns() { function test_matches_embedded_repeat_patterns (line 1257) | fn test_matches_embedded_repeat_patterns() { function test_repeats_with_base_character (line 1273) | fn test_repeats_with_base_character() { function test_multiple_adjacent_repeats (line 1296) | fn test_multiple_adjacent_repeats() { function test_multiple_non_adjacent_repeats (line 1319) | fn test_multiple_non_adjacent_repeats() { function test_multiple_character_repeats (line 1342) | fn test_multiple_character_repeats() { function test_matches_longest_repeat (line 1358) | fn test_matches_longest_repeat() { function test_identifies_simplest_repeat (line 1374) | fn test_identifies_simplest_repeat() { function test_identifies_repeat_with_multibyte_utf8 (line 1390) | fn test_identifies_repeat_with_multibyte_utf8() { function test_regex_matching (line 1406) | fn test_regex_matching() { function test_date_matching_with_various_separators (line 1423) | fn test_date_matching_with_various_separators() { function test_date_matches_year_closest_to_reference_year (line 1444) | fn test_date_matches_year_closest_to_reference_year() { function test_date_matches (line 1463) | fn test_date_matches() { function test_matching_zero_padded_dates (line 1496) | fn test_matching_zero_padded_dates() { function test_matching_embedded_dates (line 1514) | fn test_matching_embedded_dates() { function test_matching_overlapping_dates (line 1532) | fn test_matching_overlapping_dates() { function test_matches_dates_padded_by_non_ambiguous_digits (line 1562) | fn test_matches_dates_padded_by_non_ambiguous_digits() { function test_omnimatch (line 1580) | fn test_omnimatch() { FILE: src/matching/patterns.rs type MatchPattern (line 10) | pub enum MatchPattern { method variant (line 30) | pub(crate) fn variant(&self) -> &str { type DictionaryPattern (line 48) | pub struct DictionaryPattern { type SpatialPattern (line 76) | pub struct SpatialPattern { type RepeatPattern (line 90) | pub struct RepeatPattern { type SequencePattern (line 106) | pub struct SequencePattern { type RegexPattern (line 120) | pub struct RegexPattern { type DatePattern (line 132) | pub struct DatePattern { FILE: src/scoring.rs type Score (line 11) | pub enum Score { type Error (line 31) | type Error = &'static str; method try_from (line 33) | fn try_from(value: u8) -> Result { function from (line 25) | fn from(score: Score) -> u8 { method fmt (line 46) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type GuessCalculation (line 52) | pub struct GuessCalculation { type Optimal (line 62) | struct Optimal { constant MIN_YEAR_SPACE (line 105) | const MIN_YEAR_SPACE: i32 = 20; constant BRUTEFORCE_CARDINALITY (line 106) | const BRUTEFORCE_CARDINALITY: u64 = 10; constant MIN_GUESSES_BEFORE_GROWING_SEQUENCE (line 107) | const MIN_GUESSES_BEFORE_GROWING_SEQUENCE: u64 = 10_000; constant MIN_SUBMATCH_GUESSES_SINGLE_CHAR (line 108) | const MIN_SUBMATCH_GUESSES_SINGLE_CHAR: u64 = 10; constant MIN_SUBMATCH_GUESSES_MULTI_CHAR (line 109) | const MIN_SUBMATCH_GUESSES_MULTI_CHAR: u64 = 50; function most_guessable_match_sequence (line 111) | pub fn most_guessable_match_sequence( function factorial (line 272) | fn factorial(n: usize) -> usize { function estimate_guesses (line 276) | fn estimate_guesses(m: &mut Match, password: &str) -> u64 { type Estimator (line 295) | trait Estimator { method estimate (line 296) | fn estimate(&mut self, token: &str) -> u64; method estimate (line 300) | fn estimate(&mut self, token: &str) -> u64 { method estimate (line 330) | fn estimate(&mut self, token: &str) -> u64 { method estimate (line 412) | fn estimate(&mut self, token: &str) -> u64 { method estimate (line 466) | fn estimate(&mut self, _: &str) -> u64 { method estimate (line 472) | fn estimate(&mut self, token: &str) -> u64 { method estimate (line 494) | fn estimate(&mut self, token: &str) -> u64 { method estimate (line 524) | fn estimate(&mut self, _: &str) -> u64 { function uppercase_variations (line 343) | fn uppercase_variations(token: &str) -> u64 { function l33t_variations (line 367) | fn l33t_variations(pattern: &DictionaryPattern, token: &str) -> u64 { function n_ck (line 393) | fn n_ck(n: usize, k: usize) -> u64 { function calc_average_degree (line 457) | fn calc_average_degree(graph: &HashMap>>)... function test_n_ck (line 546) | fn test_n_ck() { function test_search_returns_one_bruteforce_match_given_empty_match_sequence (line 588) | fn test_search_returns_one_bruteforce_match_given_empty_match_sequence() { function test_search_returns_match_and_bruteforce_when_match_covers_prefix_of_password (line 600) | fn test_search_returns_match_and_bruteforce_when_match_covers_prefix_of_... function test_search_returns_bruteforce_and_match_when_match_covers_a_suffix (line 621) | fn test_search_returns_bruteforce_and_match_when_match_covers_a_suffix() { function test_search_returns_bruteforce_and_match_when_match_covers_an_infix (line 642) | fn test_search_returns_bruteforce_and_match_when_match_covers_an_infix() { function test_search_chooses_lower_guesses_match_given_two_matches_of_same_span (line 667) | fn test_search_chooses_lower_guesses_match_given_two_matches_of_same_spa... function test_search_when_m0_covers_m1_and_m2_choose_m0_when_m0_lt_m1_t_m2_t_fact_2 (line 696) | fn test_search_when_m0_covers_m1_and_m2_choose_m0_when_m0_lt_m1_t_m2_t_f... function test_search_when_m0_covers_m1_and_m2_choose_m1_m2_when_m0_gt_m1_t_m2_t_fact_2 (line 726) | fn test_search_when_m0_covers_m1_and_m2_choose_m1_m2_when_m0_gt_m1_t_m2_... function test_calc_guesses_returns_guesses_when_cached (line 757) | fn test_calc_guesses_returns_guesses_when_cached() { function test_calc_guesses_delegates_based_on_pattern (line 766) | fn test_calc_guesses_delegates_based_on_pattern() { function test_repeat_guesses (line 783) | fn test_repeat_guesses() { function test_sequence_guesses (line 814) | fn test_sequence_guesses() { function test_regex_guesses_lowercase (line 832) | fn test_regex_guesses_lowercase() { function test_regex_guesses_alphanumeric (line 842) | fn test_regex_guesses_alphanumeric() { function test_regex_guesses_distant_year (line 852) | fn test_regex_guesses_distant_year() { function test_regex_guesses_recent_year (line 862) | fn test_regex_guesses_recent_year() { function test_regex_guesses_current_year (line 872) | fn test_regex_guesses_current_year() { function test_date_guesses (line 882) | fn test_date_guesses() { function test_date_guesses_recent_years_assume_min_year_space (line 897) | fn test_date_guesses_recent_years_assume_min_year_space() { function test_spatial_guesses_no_turns_or_shifts (line 910) | fn test_spatial_guesses_no_turns_or_shifts() { function test_spatial_guesses_adds_for_shifted_keys (line 925) | fn test_spatial_guesses_adds_for_shifted_keys() { function test_spatial_guesses_doubles_when_all_shifted (line 941) | fn test_spatial_guesses_doubles_when_all_shifted() { function test_spatial_guesses_accounts_for_turn_positions_directions_and_start_keys (line 957) | fn test_spatial_guesses_accounts_for_turn_positions_directions_and_start... function test_dictionary_base_guesses_equals_rank (line 979) | fn test_dictionary_base_guesses_equals_rank() { function test_dictionary_extra_guesses_added_for_caps (line 989) | fn test_dictionary_extra_guesses_added_for_caps() { function test_dictionary_guesses_doubled_if_reversed (line 999) | fn test_dictionary_guesses_doubled_if_reversed() { function test_dictionary_guesses_added_for_l33t (line 1010) | fn test_dictionary_guesses_added_for_l33t() { function test_dictionary_guesses_added_for_caps_and_l33t (line 1025) | fn test_dictionary_guesses_added_for_caps_and_l33t() { function test_uppercase_variations (line 1041) | fn test_uppercase_variations() { function test_l33t_variations_for_non_l33t (line 1065) | fn test_l33t_variations_for_non_l33t() { function test_l33t_variations (line 1074) | fn test_l33t_variations() { function serde_score (line 1166) | fn serde_score() { FILE: src/serialization_utils.rs function deserialize_f64_null_as_nan (line 3) | pub(crate) fn deserialize_f64_null_as_nan<'de, D: Deserializer<'de>>( FILE: src/time_estimates.rs type CrackTimes (line 30) | pub struct CrackTimes { method new (line 39) | pub fn new(guesses: u64) -> Self { method guesses (line 44) | pub fn guesses(self) -> u64 { method online_throttling_100_per_hour (line 49) | pub fn online_throttling_100_per_hour(self) -> CrackTimeSeconds { method online_no_throttling_10_per_second (line 55) | pub fn online_no_throttling_10_per_second(self) -> CrackTimeSeconds { method offline_slow_hashing_1e4_per_second (line 62) | pub fn offline_slow_hashing_1e4_per_second(self) -> CrackTimeSeconds { method offline_fast_hashing_1e10_per_second (line 70) | pub fn offline_fast_hashing_1e10_per_second(self) -> CrackTimeSeconds { type CrackTimeSeconds (line 79) | pub enum CrackTimeSeconds { method fmt (line 87) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { function from (line 125) | fn from(s: CrackTimeSeconds) -> std::time::Duration { function estimate_attack_times (line 134) | pub(crate) fn estimate_attack_times(guesses: u64) -> (CrackTimes, Score) { function calculate_score (line 138) | fn calculate_score(guesses: u64) -> Score {