Password Definition Language

4.4. Useful examples of password definition

1) I remember that my password consist of two words separated by the one of the signs "-", "_", "=", "," and the first letter of the words are in the uppercase

$w.u(1) [-_=,] $w.u(1)

It should be mentioned that both $w are distinct here (these are distinct words), so a total of 20000 * 4 * 20000 = 1 600 000 000 passwords (if there are 20000 dictionary words) will be generated.

2) Most common definition - brute-force search using only lower-case Latin letters.

$a *

You also can use min= and max= settings to define password length.

3) The same as the above, but using both cases Latin letter

[$a $A] *

4) Simplest dictionary attack


5) Dictionary attack with all possible upper/lower-case combinations:


5) Let me cite ZEXPL2L program specification: "Let you have an archive with the password looking like "Heaven!!!", but you have forgotten, how many !s were there in the end and what kind of letters lower- or upper-cased were used: "HeAvEn!!!", "Heaven!" or "HeAven!!!!". But fortunately you remember your password to be 10 characters at most and 7 characters at least." This password will be written in PDL language as follows:

min = 7
max = 10
He [aA] v [eE] n ! *

Suppose that among other things you have mistaken while typing the main part of the password. So the following one is worth attention:

min = 7
max = 10
{He [aA] v [eE] n} ! *

6) One more citation from the same specification: "Let you have two variants of the password string: "myprog", "MyProg", "my_prog" and "My_Prog". It will be written as:

[mM] y [_ \0] [pP] rog

7) Password consists of exactly six letters from national alphabet:

$i $i $i $i $i $i


min = 6
max = 6
$i *
are far more efficient.

8) You remember your password to be "MyVeryLongGoodPassword", but it is not valid for some reason. Try to use the following ones:


2382 passwords in total


2836413 passwords


??? passwords

9) You know you password to be a meaningful word with a digit inserted elsewhere. The definition file is:

$p = [$1] # the insertion set is defined as a set of digits

10) Syllable attack. You need to set up a dictionary of possible syllables of your language and then to search through all the meaningful words by proceeding as follows:

$u # monosyllabic words
$u$u # disyllabic words
$u$u$u # etc.