Пример #1
0
    def ok(self):

        # Data validation
        #
        # Check old password:
        if self.oldPassphraseLE.isEnabled():
            if not self.settings.unlockMasterKey(self.oldPassphraseLE.text()):
                self.validationWarning('The old passphrase is not correct.')
                return
        # Match between old and new
        if self.newPassphraseLE.text() != self.repeatPassphraseLE.text():
            self.validationWarning('The new passphrases do not match.')
            return

        # Password complexity
        new_password = self.newPassphraseLE.text()
        if new_password == '' or password_strength.PasswordStats(
                new_password).strength() < constants.PassphraseMinStrength:
            self.validationWarning('Passphrase is not complex enough.')
            return
        elif len(new_password) > constants.PassphraseMaxLen:
            self.validationWarning(
                'Passphrase should contain at most %d characters.' %
                constants.PassphraseMaxLen)
            return

        super().ok()
Пример #2
0
def good_password(password=None):
    """Check the strength of the encryption password."""

    if password is None or password == "":
        logger.error("Password empty or None.")
        return False

    policy = password_strength.PasswordPolicy.from_names(strength=0.66)
    check = policy.test(password)

    if check:
        strength = password_strength.PasswordStats(password).strength()
        logger.error("Password strength does not meet policy.\n"
                     f" Strength: {strength}\n"
                     f" Policy:   {check[0].strength}\n"
                     f" Details:  https://pypi.org/project/password-strength/")
        return False

    return True
Пример #3
0
 def clean(self, value):
     return pwd.PasswordStats(value).letters_uppercase
Пример #4
0
 def clean(self, value):
     return pwd.PasswordStats(value).special_characters
Пример #5
0
 def clean(self, value):
     return pwd.PasswordStats(value).length
Пример #6
0
 def clean(self, value):
     return pwd.PasswordStats(value).numbers