https://github.com/stevesea/dart_wordlists
passphrase wordlists and parsers / utilities for loading the word lists
https://github.com/stevesea/dart_wordlists
Last synced: 4 months ago
JSON representation
passphrase wordlists and parsers / utilities for loading the word lists
- Host: GitHub
- URL: https://github.com/stevesea/dart_wordlists
- Owner: stevesea
- License: mit
- Created: 2017-12-04T02:58:32.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2022-10-15T10:42:09.000Z (over 3 years ago)
- Last Synced: 2025-10-23T01:30:01.264Z (8 months ago)
- Language: AGS Script
- Size: 245 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# dart_wordlists
[](https://pub.dartlang.org/packages/dart_wordlists)
[](CODE_OF_CONDUCT.md)
A library for passphrase word lists. Inspired by Diceware and others
## Usage
### generate pgp mnemonic from byte array
```dart
import 'package:dart_wordlists/dart_wordlists.dart';
main(List arguments) async {
PgpMnemonic pgpWords = new PgpMnemonic();
await pgpWords.init();
if (arguments.isEmpty) {
print("You must supply a hex string (whitespace separation a-ok!)");
} else {
print(pgpWords.toPhraseFromHex(arguments.join(' ')).join(' '));
}
}
```
running the example:
```console
foo@bar$ pub run example/pgp_words.dart a2b4 ff5a 21a9
rebirth politeness Zulu existence blackjack passenger
foo@bar$ pub run example/pgp_unwords.dart rebirth politeness Zulu existence blackjack passenger
a2b4ff5a21a9
```
### word list selection w/ collection sampler
A simple usage example:
```dart
import 'package:dart_wordlists/dart_wordlists.dart';
import 'package:dart_collection_sampler/dart_collection_sampler.dart';
import 'package:args/args.dart';
main(List arguments) async {
var argParser = new ArgParser()
..addOption("num", abbr: "n",
help: "items to pick from rest of command line",
defaultsTo: "6");
var results = argParser.parse(arguments);
sample(int.parse(results["num"]));
}
sample(int sampleSize) async {
var loader = new WordlistLoader();
var sampler = new CollectionSampler();
var wordlists = [
Wordlist.bip39_en,
Wordlist.bip39_zh_CW,
Wordlist.diceware_beale_en,
Wordlist.eff_large_en
];
for (final wl in wordlists) {
var meta = loader.findMetadata(wl);
print(loader.findMetadata(wl));
var words = await loader.findLoader(wl).load();
print(words);
print ("sample: ${sampler.pickN(words, sampleSize)}");
print ("\n");
}
}
```
## Features and bugs
Please file feature requests and bugs at the [issue tracker][tracker].
[tracker]: https://github.com/stevesea/dart_wordlists/issues
## Similar projects
## Credits
### Diceware
diceware is a concept invented by Arnold G. Reinhold, Cambridge, Massachusetts
USA.
The English Diceware Wordlists used with this programme are licensed
by Arnold G. Reinhold (files ``wordlists/wordlist_en_orig.asc``,
``wordlists/wordlist_en.txt``) under the `Creative Commons CC-BY 3.0`
license (see http://creativecommons.org/licenses/by/3.0/).
"Diceware" is a trademark of A G Reinhold.
### EFF
The EFF wordlist (file ``wordlsts/wordlist_en_eff.txt``) is licensed
by the Electronic Frontier Foundation under the `Creative Commons
CC-BY 3.0 US` license (see
https://creativecommons.org/licenses/by/3.0/us/).
See [EFF's New Wordlists for Random Passphrases](https://www.eff.org/deeplinks/2016/07/new-wordlists-random-passphrases)
### BIP39
See [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki)