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');
Related packages
| 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 matchingdate matcherdictionary matcherxdictionary (bruteforce) matcherdictionary (l33t) matcherxdictionary (reverse) matcher
regex matcherrepeat matcherxsequence matcherxspatial matcherafter 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
- Huge thanks goes to creators of @zxcvbn-ts/zxcvbn which is a solid foundation for this Dart port
- We use levenshtein implementation from brinkler/levenshtein-dart which was released as Public Domain
License
- see LICENSE