dart_zxcvbn dart_zxcvbn dart_zxcvbn melos

dart_zxcvbn

❗ THIS PACKAGE IS STILL WORK IN PROGRESS ❗

Description

This package is a Dart port of @zxcvbn-ts/zxcvbn, which is a Typescript rewrite of the original library zxcvbn from Dropbox.

Usage

import 'package:dart_zxcvbn/dart_zxcvbn.dart';
import 'package:dart_zxcvbn_language_common/dart_zxcvbn_language_common.dart';
import 'package:dart_zxcvbn_language_en/dart_zxcvbn_language_en.dart';

final common = LanguageCommon();
zxcvbn.setOptions(Options(
  dictionary: Dictionary.merge([
    common.dictionary,
    LanguageEn().dictionary,
  ]),
  graphs: common.adjacencyGraphs,
  translations: LanguageEn().translations,
));

final result = zxcvbn('test');
Package Details
dart_zxcvbn README | pub
dart_zxcvbn_language_common README | pub
dart_zxcvbn_language_en README | pub
dart_zxcvbn_language_pl README | pub
flutter_password_scoring README | pub

TODO

  • Async matching
  • date matcher
  • dictionary matcher
    • x dictionary (bruteforce) matcher
    • dictionary (l33t) matcher
    • x dictionary (reverse) matcher
  • regex matcher
  • repeat matcher
  • x sequence matcher
  • x spatial matcher
  • after implementing all matchers and passing all upstream tests with the same results, refactor library and try to remove 'part/part of' in favor of 'import/export'

Credits

License

Libraries

dart_zxcvbn