I learned the Kirsch and Mitzenmacher trick from Google’s Guava. Interestingly, they also use Murmur-128, but then they just use the first 64 bits of that and split it into the two 32-bit hashes as described in the paper.
I wrote a couple of alternative implementations based on that idea, but using SipHash instead of Murmur IIRC. One as a memory-mapped fast lookup for known-compromised passwords, and another for JWT logout described in these blog posts from 2016 (written to support massive projected usage at the BBC, no idea if they still use it):
subnut | 5 hours ago
Link was probably intended to be --
https://www.calabro.io/ohbf
[OP] pushcx | 2 hours ago
Yep, thanks. I'll email the author about their bad rel=canonical tag.
jcalabro | 2 hours ago
Fixed, thank you!
neilmadden | 2 hours ago
I learned the Kirsch and Mitzenmacher trick from Google’s Guava. Interestingly, they also use Murmur-128, but then they just use the first 64 bits of that and split it into the two 32-bit hashes as described in the paper.
I wrote a couple of alternative implementations based on that idea, but using SipHash instead of Murmur IIRC. One as a memory-mapped fast lookup for known-compromised passwords, and another for JWT logout described in these blog posts from 2016 (written to support massive projected usage at the BBC, no idea if they still use it):
https://neilmadden.blog/2016/02/25/stateless-session-logout-in-openam-13/
https://neilmadden.blog/2016/06/06/bloom-filter-session-logout-some-numbers/