Account Helpers

Account helpers are are classes and character sets that are used in your account attributes. They provide advanced capabilities such as holding secrets, generating secrets, and recognizing accounts.

Generated Secret Classes

Sublasses of avendesora.GeneratedSecret.

These classes are used when creating account secrets (see Accounts).

Every class starts with a pool of 512 bits of entropy. Each symbol generated consumes some of that entropy, the amount of which is determine by the number of symbols that are available in the alphabet. For example, passphrases pull words from a dictionary containing 10,000 words. As such, each word in the passphrase consumes 14 bits of entropy (ceil(log2(10000))). If too many words are requested, avendesora.SecretExhausted is raised.

Character Sets

These are useful when constructing generated secrets. They are used to build the alphabet used by the generator. For example, you can specify that passwords should be constructed from 12 lower case letters and digits with:

Password(length=12, alphabet=LOWERCASE+DIGITS)

Or here is an example that starts with the alphanumeric and punctuation characters, and removes those that require the shift key to type:

Password(length=12, alphabet=exclude(ALPHANUMERIC+PUNCTUATION, SHIFTED))
avendesora.LOWERCASE

Lower case ASCII letters: avendesora.LOWERCASE = “abcdefghijklmnopqrstuvwxyz”

avendesora.UPPERCASE

Upper case ASCII letters: avendesora.UPPERCASE = “ABCDEFGHIJKLMNOPQRSTUVWXYZ”

avendesora.LETTERS

Upper and lower case ASCII letters: avendesora.LETTERS = avendesora.LOWERCASE + avendesora.UPPERCASE

avendesora.DIGITS

ASCII digits: avendesora.DIGITS = “0123456789”

avendesora.ALPHANUMERIC

ASCII letters and digits: avendesora.ALPHANUMERIC = avendesora.LETTERS + avendesora.DIGITS

avendesora.HEXDIGITS

Hexidecimal digits: avendesora.HEXDIGITS = “0123456789abcdef”

avendesora.PUNCTUATION

ASCII punctuation characters: avendesora.PUNCTUATION = “!”#$%&’()*+,-./:;<=>?@[\]^_`{|}~”

avendesora.SYMBOLS

ASCII punctuation characters excluding ‘, “, `, and \: avendesora.SYMBOLS = exclude(avendesora.PUNCTUATION, “’”`\”)

avendesora.WHITESPACE

ASCII white space characters (excluding newlines): avendesora.WHITESPACE = “ \t”

avendesora.PRINTABLE

All ASCII printable characters (letters, digits, punctuation, whitespace): avendesora.PRINTABLE = avendesora.ALPHANUMERIC + avendesora.PUNCTUATION + avendesora.WHITESPACE

avendesora.DISTINGUISHABLE

ASCII letters and digits with easily confused characters removed: avendesora.DISTINGUISHABLE = exclude(avendesora.ALPHANUMERIC, ‘Il1O0’)

avendesora.SHIFTED

ASCII characters that are typed using the shift key: avendesora.SHIFTED = avendesora.UPPERCASE + ‘~!@#$%^&*()_+{}|:”<>?’

Obscured Secret Classes

Sublasses of avendesora.ObscuredSecret.

These classes are used when creating account secrets (see Accounts).

Recognizer Classes

These classes are used in account discovery.

Utility Classes

These classes are used as account values, (see Scripts).