dart_zxcvbn 0.1.0+4
dart_zxcvbn: ^0.1.0+4 copied to clipboard
A port of @zxcvbn-ts/zxcvbn to Dart. It provides a reasonable password strength estimator.
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 matching
- ❌ date matcher
- ❌ dictionary matcher
- ✅ dictionary (bruteforce) matcher
- ❌ dictionary (l33t) matcher
- ✅ dictionary (reverse) matcher
- ❌ regex matcher
- ❌ repeat matcher
- ✅ sequence matcher
- ✅ 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 #
- 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