I like this write-up a lot. I don't use KeyPass, but I'm tempted to download your app just to see the progress bars in action—I've been meaning to check out the options for that sort of thing.
Re: your discussion of `is_some()`—I _think_ that the `if let` syntax (https://doc.rust-lang.org/book/ch06-03-if-let.html) would give you the same control flow and give you a binding to the unwrapped value. See this playground (which won't compile on its own) https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=ee41d3873f8a13187b42eaae1a05c950
@codesections thanks! yes, I should add note about ‘if let’
@schlink awesome write up and thanks for sharing!
@schlink For offline processing of the entire list, I just loaded the file into a database.
I was tempted to create some intermediate file format that turned the list of hashes into a hash set to mmap(), but a database was the path of least resistance for my use.