Expand description

Wordlists is a set of functionality and abstractions for turning binary into lists of UTF-8 english (for now) words.

This wordlists package has been implemented to fill a purpose for me; to generate a printable list of words for building a hard-copy of some sort of binary data (certificates, base64 encoded keys, etc). But because this functionality is fairly generic, I’ve pulled it out into a separate package.

Some wordlists have different licensing potentially. Take this in mind when enabling their feature-flags as they may pull in other requirements. For me, I am not using this in any public way, just as a personal project; but feel free to yell at me if I did something stupid.

Structs

A Wordlist where words can be obtained by using dice roles for entropy. They can also be used as ordered lists of words for index mapping to byte-ranges.

Some wordlists are actually multiple lists, some have two (i.e. an even and an odd list) but this interface abstracts around having multiple wordlists based on the index of the word in the vec being used to index into which worldlist.

The most basic wordlist; an ordered list of words which can be represented by a list of positive integers (indexes into the wordlist). These integers can be then represented as binary; thus, in reverse a wordlist can represent any generic binary data.

Enums

The set of possible error which this crate will emit. We should not be emitting IO issues or generic panics as we should conform to the Result type structure.

Traits

A wordlist is pretty simply one or more lists of words. We can

A wordlist byte-converter is a utility that can convert bits/bytes into sets of words.

Type Definitions

Simple Result type wrapper with the WordlistError as the error type.

A Vector of words is a vector of static string references into the backing wordlist.