"found password in bloom filter:..." is sort of a misleading message. Bloom filters don't tell you that something is present. They can tell you either that something is not present, or that it is likely to be present.
Interesting, but you probably didn't need to write your own filter :). Google's Guava library has the best designed and performing Bloom filter I've ever seen. Lockless concurrency, extremely fast hashing function.
Said everyone trying to reinvent the wheel ever :) . I would replace that with "rarely". Sometimes it's obviously optimal to roll your own thing but in almost every case it wasn't.
My bar is pretty high. Unless you can write an academic paper on the thing you just invented you should try what's out there first.
It really depends on the particulars and the benefits of each path. When you build your own ("invent" is disingenuous and "reinvent" seems pejorative, so going with a more neutral phrasing) you own the result, you own the intermediate steps, you learn more, and you have more flexibility in thinking of new tweaks.
It may take more time, but the investment of time pays dividends.
Wheels themselves are one of the best examples of something that has benefited from repeated "reinvention," to use the flawed term, over the last few thousands of years. I don't think you'll find a Maserati wheel on a Tesla, and it's not because Maserati wheels are bad, or because somebody cared about your bar or academic papers.