Pakete, Repositories und App-Kategorien suchen

Cover von password_strength_checker
Paketdetailsv1.3.2

password_strength_checker

Erstellen Sie sichere Passwörter, überprüfen Sie aufgefundene Passwörter, erhalten Sie visuelle Rückmeldungen zur Stärke oder führen Sie Formularüberprüfungen mit einer minimalen Passwortstärke durch.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
8460
Likes
55
Pub-Punkte
150

Paket installieren

flutter pub add password_strength_checker

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Ein Flutter-Paket, das bei der Erstellung sicherer Passwörter hilft, deren Stärke zu überprüfen und zu prüfen, ob sie in Datenlecks aufgetaucht sind. Es bietet Echtzeit-Visuelle Rückmeldung zur Passwortstärke und unterstützt Formularvalidierung mit anpassbaren Mindestanforderungen an die Stärke. Ideal für Anwendungen, die eine starke Authentifizierung erfordern, integriert sich nahtlos in Passwort-Eingabefelder auf mehreren Plattformen.

Anwendungsfälle

  • Formularvalidierung mit minimaler Stärke
  • Echtzeit-Passwortstärke-Feedback
  • Überprüfung auf offengelegte Passwörter
  • Sichere Passworterzeugung
  • Verbesserung des Authentifizierungsablaufs
  • Plattformübergreifende Passwortfelder

Hauptmerkmale

  • Visuelle Stärkeindikatoren
  • Erkennung von offengelegten Passwörtern
  • Anpassbare Schwelle für die Stärke
  • Passwortgenerierungswerkzeug
  • Integration mit Formularvalidatoren
  • Multiplattform-Unterstützung

Geeignet für

  • Authentifizierungsbildschirme
  • Benutzerregistrierungsformulare
  • Sicherheitsorientierte Apps
  • Passwort-Management-Tools
  • Entwicklungsteams, die Sicherheit priorisieren
  • Apps, die der Einhaltung von Passwortrichtlinien unterliegen

Hinweise

  • Internetverbindung für Sicherheitsüberprüfungen erforderlich
  • Kann die App-Größe leicht erhöhen
  • Abhängig von externen APIs zur Expositionssuche
  • Nicht geeignet für reine Offline-Umgebungen
  • Leistungsbeeinträchtigung während der Echtzeitüberprüfung
  • Erforderliche ordnungsgemäße Fehlerbehandlung bei API-Fehlern

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

password_strength_checker

License Pub Version Pub Likes Pub Points Pub Monthly Downloads GitHub code size in bytes GitHub Repo stars GitHub issues GitHub release (latest by date) GitHub top language CI

Generate secure passwords, check for exposed passwords, get visual feedback for password strength or get form validation with a minimum password strength required.

Check the strength of the password in a visual way, with an animation when the strength changes according to the settings given by the user. Use it also inside a Form to get form validation!

Features

  • Check for exposed common password using the commonDictionary, a map with 10,000 leaked passwords!
  • Use the PasswordStrengthChecker to have a visual feedback.
  • Use the PasswordStrengthFormChecker to have a built-in TextFormField inside the widget and get form validation using a minimumStrengthRequired.
  • Use the PasswordGenerator class to generate a secure random password based on the input configurations (PasswordGeneratorConfiguration).
  • Create your custom strength to create your own rules or use the PasswordStrength default enum (see Custom Strength).

Demo

Demo Form Gif Demo Gif Demo Generator Gif

Getting started

PasswordStrengthChecker

You can use the PasswordStrengthChecker to only have a visual feedback, for example:

final passNotifier = ValueNotifier<PasswordStrength?>(null);
// ...
PasswordStrengthChecker(
  strength: passNotifier,
),

See the full example here.

PasswordStrengthFormChecker

You can use the PasswordStrengthFormChecker to have a built-in TextFormField inside the widget and get form validation using a minimumStrengthRequired. For example:

PasswordStrengthFormChecker(
  minimumStrengthRequired: PasswordStrength.secure,
  onChanged: (password, notifier) {
    notifier.value = PasswordStrength.calculate(text: password);
  },
),

See the full example here.

PasswordGenerator

You can use the PasswordGeneratorclass to generate a secure random password based on the configurations. For example:

final config = PasswordGeneratorConfiguration(
  length: 32,
  minUppercase: 8,
  minSpecialChars: 8,
  // ...
);

final passwordGenerator = PasswordGenerator.fromConfig(
  configuration: config,
);

final password = passwordGenerator.generate();

See the full example here.

Custom Strength

You can use the default PasswordStrength enum to set the strength of the password, or you can create your own enum that implements PasswordStrengthItem and use it. For example:

enum CustomPassStrength implements PasswordStrengthItem {
  weak,
  medium,
  strong;

  @override
  Color get statusColor => switch (this) {
      CustomPassStrength.weak => Colors.red,
      CustomPassStrength.medium => Colors.orange,
      CustomPassStrength.strong => Colors.green,
    };

  @override
  Widget? get statusWidget => switch (this) {
      CustomPassStrength.weak => const Text('Weak'),
      CustomPassStrength.medium => const Text('Medium'),
      CustomPassStrength.strong => const Text('Strong'),
    };

  @override
  double get widthPerc => switch (this) {
      CustomPassStrength.weak => 0.15,
      CustomPassStrength.medium => 0.4,
      CustomPassStrength.strong => 0.75,
    };

  static CustomPassStrength? calculate({required String text}) {
    // Implement your custom logic here
    if (text.isEmpty) {
      return null;
    }
    // Use the [commonDictionary] to see if a password
    // is in 10,000 common exposed password list.
    if (commonDictionary[text] == true) {
      return CustomPassStrength.weak;
    }
    if (text.length < 6) {
      return CustomPassStrength.weak;
    } else if (text.length < 10) {
      return CustomPassStrength.medium;
    } else {
      return CustomPassStrength.strong;
    }
  }
}

Contribution

The project is open source and you can contribute to it here -> repository link

  • If you found a bug, open an issue.
  • If you have a feature request, open an issue.
  • If you want to contribute, submit a pull request.

Contributors


Made with ❤️ from dariowskii

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden