Class PasswordPolicyResult


  • public class PasswordPolicyResult
    extends java.lang.Object
    Result of the password policy checking.

    List of entropy messages

    These text ID's can be localized by the System app or overridden by your own app's text tables.

    Policy text ID's and the English text

       password.policy.valid = Password is valid.
       password.policy.too_short = Password length must be minimum %s characters.
       password.policy.digit_required = Password must have a digit.
       password.policy.symbol_required = Password must have a 'symbol' (i.e. not 0-9, a-z or A-Z).
       password.policy.upper_lower_case_required = Password must have at least one lower case and one upper case character.
       password.policy.matches_old_password = The last %s passwords must be unique. 
       password.policy.insecure = Password is insecure, try the following:\n
       password.policy.insecure_warning = Password is insecure: 
       password.policy.insecure_no_explanation = Password is insecure.
       password.policy.line_separator = \n - 
     

    Main text ID's and the English text

       password.main.password = Password:
       password.main.feedback.warning = Warning:
       password.main.feedback.suggestion = Suggestion:
       password.main.feedback.minimumMet = Your password meets the minimum strength requirement.
       password.main.feedback.insecure = Your password does not meet the minimum strength requirement.
       password.main.entropy = Entropy:
       password.main.timeToCrack = Time to crack:
       password.main.match.matchType = Match Type:
       password.main.match.token = Token:
       password.main.match.startIndex = Start Index:
       password.main.match.endIndex = End Index:
       password.main.match.length = Length:
       password.main.match.dictionary = Dictionary:
       password.main.match.dictionaryValue = Dictionary Value:
       password.main.match.rank = Rank:
       password.main.match.leetSub = Leet Substitutions:
       password.main.match.reversed = Reversed:
       password.main.match.distance = Distance:
       password.main.match.repeatingCharacters = Repeating Characters:
       password.main.match.repeated = Repeated:
       password.main.match.firstCharacter = First Character:
       password.main.match.spacialType = Spacial Type:
       password.main.match.turns = Turns:
       password.main.match.shifts = Shifts:
       password.main.match.year = Year:
       password.main.match.month = Month:
       password.main.match.day = Day:
       password.main.match.separator = Separator:
       password.main.estimate.greaterCenturies = infinite (>100000 centuries)
       password.main.estimate.centuries = centuries
       password.main.estimate.years = years
       password.main.estimate.months = months
       password.main.estimate.days = days
       password.main.estimate.hours = hours
       password.main.estimate.minutes = minutes
       password.main.estimate.seconds = seconds
       password.main.estimate.instant = instant
     

    Feedback text ID's and the English text

       # Default
       password.feedback.default.suggestions.useFewWords = Use a few words, avoid common phrases.
       
       # Extra
       password.feedback.extra.suggestions.addAnotherWord = Add another word or two. Uncommon words are better.
       
       # Dictionary
       password.feedback.dictionary.warning.passwords.notAllowed = This password is not allowed to be used.
       password.feedback.dictionary.warning.passwords.top10 = This is a top-10 common password.
       password.feedback.dictionary.warning.passwords.top100 = This is a top-100 common password.
       password.feedback.dictionary.warning.passwords.veryCommon = This is a very common password.
       password.feedback.dictionary.suggestions.capitalization = Capitalization doesn't help very much.
       password.feedback.dictionary.suggestions.allUppercase = All-uppercase is almost as easy to guess as all-lowercase.
       password.feedback.dictionary.suggestions.reversed = Reversed words aren't much harder to guess.
       password.feedback.dictionary.suggestions.leet = Predictable substitutions like '@' instead of 'a' don't help very much.
       password.feedback.dictionary.suggestions.passwords.notAllowed = Please try a different password that is not on the exclusion list, add extra words, or digits.
       
       # Spatial
       password.feedback.spatial.warning.straightRowsOfKeys = Straight rows of keys are easy to guess.
       password.feedback.spatial.warning.shortKeyboardPatterns = Short keyboard patterns are easy to guess.
       password.feedback.spatial.suggestions.UseLongerKeyboardPattern = Use a longer keyboard pattern with more turns.
       
       # Repeat
       password.feedback.repeat.warning.likeAAA = Repeats like "aaa" are easy to guess.
       password.feedback.repeat.warning.likeABCABCABC = Repeats like "abcabcabc" are only slightly harder to guess than "abc".
       password.feedback.repeat.suggestions.avoidRepeated = Avoid repeated words and characters.
       
       # Sequence
       password.feedback.sequence.warning.sequenceWarning = Sequences like abc or 6543 are easy to guess.
       password.feedback.sequence.suggestions.avoidSequences = Avoid sequences.
       
       # Year
       password.feedback.year.warning.recentYears = Recent years are easy to guess.
       password.feedback.year.suggestions.avoidYears = Avoid recent years, avoid years that are associated with you.
       
       # Date
       password.feedback.date.warning.dates = Dates are often easy to guess.
       password.feedback.date.suggestions.avoidDates = Avoid dates and years that are associated with you.
     
    Author:
    Christopher Mindus
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      java.util.List<java.lang.String>getEnglishSuggestionsTexts()
      Gets the list of English texts to use as suggestion as to how to enhance the password entropy if too weak.
      java.lang.StringgetEnglishText​(java.lang.String separator)
      Gets the full English text, with a potential separator string before each suggestion for the password entropy to become stronger if too weak.
      java.lang.StringgetLocalizedText​(SessionInfo sessionInfo, java.lang.String separator)
      Gets the full localized text, with a potential separator string before each suggestion for the password entropy to become stronger if too weak.
      java.util.List<java.lang.String>getSuggestionsTextIDs()
      Gets the list of text IDs to use as suggestion as to how to enhance the password entropy if too weak.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • value

        public final int value
        Value parameter, used to format string when greater than zero.
    • Method Detail

      • getSuggestionsTextIDs

        public java.util.List<java.lang.String> getSuggestionsTextIDs()
        Gets the list of text IDs to use as suggestion as to how to enhance the password entropy if too weak.
        Returns:
        The unmodifiable list of text IDs, or null if none is present.
      • getEnglishSuggestionsTexts

        public java.util.List<java.lang.String> getEnglishSuggestionsTexts()
        Gets the list of English texts to use as suggestion as to how to enhance the password entropy if too weak.
        Returns:
        The unmodifiable list of English texts, or null if none is present.
      • getEnglishText

        public java.lang.String getEnglishText​(java.lang.String separator)
        Gets the full English text, with a potential separator string before each suggestion for the password entropy to become stronger if too weak.
        Parameters:
        separator - The separator string, if null or empty string, "\n - " will be used.
        Returns:
        An English text of the password policy match result.
      • getLocalizedText

        public java.lang.String getLocalizedText​(SessionInfo sessionInfo,
                                                 java.lang.String separator)
        Gets the full localized text, with a potential separator string before each suggestion for the password entropy to become stronger if too weak.
        Parameters:
        sessionInfo - The session information, or null if not available.
        separator - The separator string, if null or empty string, "\n - " will be used, unless sessionInfo is non-null in which case the localized text ID "password.policy.line_separator" is used.
        Returns:
        An English text of the password policy match result.