1Data::Password::zxcvbn:U:sMeartcCho:n:tUrsiebruItDneapdtuatP:(e:3rP)lasDsowcourmde:n:tzaxtcivobnn::Match::UserInput(3)
2
3
4
6 Data::Password::zxcvbn::Match::UserInput - match class for words that
7 match other user-supplied information
8
10 version 1.1.2
11
13 This class represents the guess that a certain substring of a password
14 can be guessed by using other pieces of information related to the
15 user: their account name, real name, location, &c.
16
17 This is a subclass of "Data::Password::zxcvbn::Match::Dictionary".
18
20 "make"
21 my @matches = @{ Data::Password::zxcvbn::Match::UserInput->make(
22 $password,
23 {
24 user_input => \%user_input,
25 # this is the default
26 l33t_table => \%Data::Password::zxcvbn::Match::Dictionary::l33t_table,
27 },
28 ) };
29
30 The %user_input hash should be a simple hash mapping field names to
31 strings. It will be converted into a set of dictionaries, one per key,
32 containing words extracted from the strings. For example
33
34 { name => 'Some One', address => '123 Place Street' }
35
36 will become:
37
38 { name => { Some => 1, One => 1 },
39 address => { 123 => 1, Place => 1, Street => 1 } }
40
41 All words get rank 1 because they're obvious guesses from a cracker's
42 point of view.
43
44 The rest of the logic is the same as for "Dictionary".
45
46 "feedback_warning"
47 The warnings for this class are very similar to those for "Dictionary",
48 but they explicitly mention the field name. Warnings look like:
49
50 ['The value of the [_1] field is easy to guess','address']
51
52 so your localisation library can translate the warning and the field
53 name separately.
54
56 Gianni Ceccarelli <gianni.ceccarelli@broadbean.com>
57
59 This software is copyright (c) 2022 by BroadBean UK, a CareerBuilder
60 Company.
61
62 This is free software; you can redistribute it and/or modify it under
63 the same terms as the Perl 5 programming language system itself.
64
65
66
67perl v5.38.0 20D2a3t-a0:9:-P1a3ssword::zxcvbn::Match::UserInput(3)